ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
940
940
EMPFEHLEN
-
Hallo,
ich habe mir lokal auf meinem Testserver eine MySQL Datenbaknk angelegt, zum Testen habe ich eine Seite, in der ein Formular mit Textfeld ist. Der Text aus dem Textfeld wird wieder an die Seite gesendet und mitan die Datenbank versandt.PHP-Code:$angabe = $_POST["Angabe"];
$query = $angabe;
$result = mysql_query($query,$Test) or die(mysql_error());
wenn ich als Test beispielsweiseeintippe klappt das auch hervorragend.Code :1
SELECT * FROM talelle1 WHERE stufe LIKE 'forte' ORDER BY id ASC
Ich habe jetzt die gleiche Tabelle auf unseren Server geladen.
wenn ich jetzt den gleiche Text in das Textfeld eintippe, meldet MySQL einen Fehler.
Ich habe herausgefunden, dass die einfachen Anführungszeichen falsch dargestellt werden, auswir nach dem versendenCode :1
SELECT * FROM talelle1 WHERE stufe LIKE 'forte' ORDER BY id ASC
, was MYSQL nicht erkennt.Code :1
SELECT * FROM talelle1 WHERE stufe LIKE \'forte\' ORDER BY id ASC
Wie kann ich das abändern, dass die $_Post-Variablen richtig übermittelt werden?
Gruß
-André-
-
zuPHP-Code:
$angabe = $_POST["Angabe"];
Alternativ würde sich auch die Funktion "stripslashes" (oder wie auch immer) anbieten. Einfach mal auf php.net die Funktionsreferenzen durchstöbern, bin sicher du wirst auch noch auf bessere Alternativen stoßen, aber "str_replace" sollte es auf jeden Fall tun.PHP-Code:$angabe = str_replace("/", "", $_POST["Angabe"]);
Dein Server fügt dem eingegangenen Request Slashes hinzu, weil in der php.ini "Magic Quotes" aktiviert wurde(n).
Die SQL Queries über POST zu senden halte ich für das Leichtsinnigste, was man überhaupt machen kann.
Beachte bitte das aktuelle Thread zum Thema SQL Injektionen.
-
Wie generierst du denn die Datenbankabfrage?
Markus Wulftange
-
Die Antwort zu dieser Frage wird wohl kaum sein Problem lösen *hehe*
Sein Skript hat ja auf dem lokalen Rechner funktioniert - also sind es doch die Magic Quotes, oder nicht?
Nie kriege ich mal ein "Ja, gut gemacht, ist genau so wie du schreibst, danke l0ci, hier hast du ein Keks" zu lesen
-
Vielen dank für die Antwort, das mit der Funktion str_replace klappt hervorragend.
Ich habe jetzt auch die Funktion mysql_real_escape_string() hizugefügt. Ich hoffe, das macht das Sript ein wenig sicherer, oder?
Gruß
-André-Geändert von -André- (26.02.08 um 11:43 Uhr)
Ähnliche Themen
-
Von MySQL, Schleifen und POST-Daten ...
Von whisp3r im Forum PHPAntworten: 3Letzter Beitrag: 20.05.08, 21:54 -
schicken von Post daten via header
Von judos im Forum PHPAntworten: 6Letzter Beitrag: 09.12.06, 16:20 -
Per GET und POST schicken
Von jackob100 im Forum PHPAntworten: 1Letzter Beitrag: 21.05.06, 17:26 -
Per Formular Daten an MYSQL schicken
Von hemorieder im Forum PHPAntworten: 6Letzter Beitrag: 06.11.04, 13:44 -
POST Variablen per PHP schicken
Von Blandorin im Forum PHPAntworten: 11Letzter Beitrag: 08.06.04, 09:27





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren