Autor |
Nachricht |
Lexis
Threadersteller
Dabei seit: 05.07.2005
Ort: München
Alter: -
Geschlecht:
|
Verfasst Fr 16.06.2006 23:21
Titel
|
|
|
mhm... und was soll ich da machen? Sorry... versteh das leider net...
|
|
|
|
|
stsy2k
Dabei seit: 30.01.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 16.06.2006 23:26
Titel
|
|
|
$news_id anders abfragen bzw. vorher definieren. Z.B. mit $_REQUEST["news_id"]
|
|
|
|
|
Anzeige
|
|
|
Lexis
Threadersteller
Dabei seit: 05.07.2005
Ort: München
Alter: -
Geschlecht:
|
Verfasst Fr 16.06.2006 23:41
Titel
|
|
|
aber wie soll ich die vorher definieren... die wird doch erst durch die url übergeben?!
|
|
|
|
|
stsy2k
Dabei seit: 30.01.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 16.06.2006 23:44
Titel
|
|
|
Code: | <?php
$news_id = $_REQUEST["news_id"];
$news_SQL="SELECT * FROM news WHERE news_id=" . $news_id;
$news_result=mysql_query($news_SQL);
echo mysql_error();
$news=mysql_fetch_array($news_result);?>
<table width="450" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<? $unixtime = strtotime($news['news_datetime']);
?><h2><? echo date("j.n.y H:i",$unixtime) ?><br><?
echo $news['news_header'] ?></h2>
</td>
</tr>
<tr>
<td>
<p><? echo nl2br($news['news_main']) ?></p>
</td>
</tr> |
Die übergebene Variable muss unbedingt noch überprüft werden, damit kein Code eingeschleust werden kann.
|
|
|
|
|
Lexis
Threadersteller
Dabei seit: 05.07.2005
Ort: München
Alter: -
Geschlecht:
|
Verfasst Fr 16.06.2006 23:51
Titel
|
|
|
Ich glaube es nicht.. es funktioniert.
Aber wir muss ich die Variable $_REQUEST verstehen?? Was macht sie? Und wie kann ich das überprüfen, dass kein Code eingeschleußt wird?
Und vorallem.. wieo hat das die ganze Zeit funktioniert und auf einmal nicht mehr? Hat es schon jemand versucht?
|
|
|
|
|
stsy2k
Dabei seit: 30.01.2003
Ort: -
Alter: -
Geschlecht:
|
|
|
|
|
grafzahl
Dabei seit: 13.04.2006
Ort: Magdeburg
Alter: 39
Geschlecht:
|
Verfasst Sa 17.06.2006 10:42
Titel
|
|
|
Mit dieser "Vorabvariablen" kannst du definieren auf welcher Quelle der Parser die Variable beziehen soll. Für deine Zwecke zum Beispiel solltest du eher $_GET(Bezeihung einer Variable aus der URL, also GET) verwenden, $_REQUEST ist schon wieder allgemein und daher aus meiner sicht nicht sonderlich sicher.
Andere Möglichkeiten sind noch $_POST für Formularelemente, $_SESSION für Sessionelemente und zb $_SERVER für Servervariablen.
Gibt denke ich noch mehr $_REQUEST fragt so weit ich weis alle möglichen Quellen ab, sollte daher eher selten verwendet werden.
Wenn du Zukunftssicher programmieren willst solltest du also immer beim Aufruf einer Variable angeben woher diese gezogen werden soll, an und für gehts auch mit der standardmethode, also einfach die variable angeben, doch schalten immer mehr Provider in der php.ini die REGISTER_GLOBALS auf Off, und dann greift diese schlampige Schreibweise nicht mehr.
Zuletzt bearbeitet von grafzahl am Sa 17.06.2006 10:45, insgesamt 2-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Sa 17.06.2006 11:23
Titel
|
|
|
Au weia. Dein Script ist so offen für SQL Injections.
register globals solltest du niemals verwenden.
Statt dessen
Code: | $news_id = (int)$_GET['news_id']; |
|
|
|
|
|
|
|
|
Ähnliche Themen |
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[mysql/php] array speichern
[php/mysql] daten aus DB rausholen, und in zufalls-array
[PHP & Mysql] Fehler in der Datenbankverbindung
seltsamer mySQL Fehler
|
|