Tom: " und ' in einem im gesamten $_POST escapen

Beitrag lesen

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

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de