Hello,
ich habe ein Formular mit einigen Textfeldern die ich an ein php script sende.
Aus den values der Textfelder soll eine mysql query gebaut werden.
Damit vom Benutzer eingegebene " bzw ' keine Fehler erzeugen escape ich sie so:
$foo = str_replace("'", "\\'", $_POST['foo']);
Wie kann ich alle " und ' in allen Elementen von $_POST escapen ohne das für alle Elemente einzeln zu machen?
mittels der dafür vorgesehenen Kontext-Funktion. Bei MySQL und PHP wäre das dann z.B.:
http://de2.php.net/manual/en/function.mysql-escape-string.php
http://de2.php.net/manual/en/function.mysqli-escape-string.php
http://de2.php.net/manual/en/function.mysql-real-escape-string.php
http://de2.php.net/manual/en/mysqli.real-escape-string.php
Bitte genau lesen, welche Funktion nun zutreffend ist, oder ob sogar eine Methode (OOP) benutzt werden muss.
Außerdem dann dringend lesen:
http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
Und dann die Array-Funktionen anschauen, z.B.:
http://de2.php.net/manual/en/function.array-map.php
Du müsstest das $_POST-Array dann rekursiv durcharbeiten, da es sowohl Strings, als auch Sub-Arrays enthalten kann.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg