Hallo Obelix,
gut, dass Du nochmal darauf hinweist.
Natürlich ist das was eingestellt in der ini, nämlich magic_quotes_gpc
Da löst automatisch ein addslashes() aus.
Das ist schon sowas ähnliches, wie mysql_escape_string. Leider nur sowas ähnliches. Also müsste man das entweder ausschalten, oder
$var = mysql_escape_string(stripslashes($var));
schreiben, bevor die Daten an die Datenbank übergeben werden.
mysql_escape_string() habe ich bis jetzt nie benutzt und es hat aber immer geklappt. Ich denke da wird irgendwas in der php.ini automatisch eingestellt sein. Sollte bzw. kann man trotzdem mysql_escape_string() benutzen oder gibts dann Probleme?
Und wird der String dann normal in der DB gespeichert oder mit den maskierten Zeichen?
Also keinesfalls doppelt maskieren, sondern erst wieder normalisieren und dann mit der passenden Funktion maskieren.
AddSlashes() ist nur eine Ungefährlösung, die bei der Vielzahl von PHP unterstützten DBS die schlimmsten Probleme verhindert.
Grüße
Tom