MyBB.de Forum

Normale Version: [PHP] Leere Ersetzung einer Variable
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin zusammen

Heute habe ich das Phänomen erlebt, dass eine Variable in einem MySQL-Query nicht korrekt durch PHP ersetzt wird. Wenn man die Variable vorher ausgibt, wird die Ausgabe korrekt ausgegeben.

Beispiel:
PHP-Code:
$sql $connection->insert("guestbook""`date`, `name`,
`email`, `active`, `ip`, `message`"
"'$date', '$name', '$email',
'
$activation', '$ip', '".$connection->real_escape_string($message)."'"); 

Hier wird $message durch Nichts ("") ersetzt. Gibt man $message vorher aus, bekommt man korrekt den Inhalt von $_POST['message'] ausgegeben.

Wenn man jetzt anstatt $message $_POST['message'] nimmt, wird der Inhalt auch korrekt in die DB eingetragen.

Die Frage stellt sich, wie kann man sich das Phänomen erklären?
Befindet sich alles in einer function? Muss vll global was übergeben werden?
Nein, ist keine Funktion.
Einfachster Fall: Die Variable wird nicht (korrekt) übergeben.
Zwei typische Fehler:

1. Man verwendet (versehentlich) den Vergleichsoperator (==)

2. Man verwendet vorher in einem If-Statement nur ein einfaches Gleichheitszeichen

3. Schreibfehler beim setzen von $message

Ansonsten - wann genau hast du denn Testweise $message einmal ausgegeben?

MfG
Raphael
Direkt vor dem Query. Aber das Problem hat sich gelöst. Anscheinend hat register_globals dieses Phänomen ausgelöst.
Dann setze ich das mal auf "erledigt"....