Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
[PHP] Leere Ersetzung einer Variable
#1
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?
Zitieren
#2
Befindet sich alles in einer function? Muss vll global was übergeben werden?
Für Paid Support: www.broatcast-consulting.de
Für alles andere: www.blog.broatcast.de
Zitieren
#3
Nein, ist keine Funktion.
Zitieren
#4
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
Zitieren
#5
Direkt vor dem Query. Aber das Problem hat sich gelöst. Anscheinend hat register_globals dieses Phänomen ausgelöst.
Zitieren
#6
Dann setze ich das mal auf "erledigt"....
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren