anführungszeichen in string aus formular

hallo,

ich steh grad vor einem rätzel. in einem formular (textfeld) soll ein freier text eingegeben werden. dieser wird in einer datenbank gespeichert und bei bedarf wiederausgegeben.

nun weiss ich, wie ich anführungszeichen (") in einem string schreiben kann. allerdings weiss ich nicht, wie ich mit anführungszeichen, die von benutzern eingegeben werden, ausquoten kann. das problem: wenn ein user einen text wie

>>>
ich finde dieses und jenes auch doof, um nicht „bescheiert“ zu sagen
nicht

Hallo Kalli,

nun weiss ich, wie ich anführungszeichen (") in einem string
schreiben kann. allerdings weiss ich nicht, wie ich mit
anführungszeichen, die von benutzern eingegeben werden,
ausquoten kann. das problem: wenn ein user einen text wie

>>>
ich finde dieses und jenes auch doof, um nicht „bescheiert“ zu
sagen
nicht

wenn ich Dich richtig verstehe…
dann brauchst Du da nichts gross beachten.
Die übergebenen Variablen sind eigentlich schon „geslasht“. Wenn Du die dann halt wieder in einer Variable ausgibst stehen diese Slashes wieder im html Quelltext… das ist etwas unschön. Besonders, weil Du wenn Du diese Werte in Eingabefelder schreibst beim nächsten Submit nicht nur das " wieder geslasht wird sondern der backslash davor auch noch… und so wird das ganze immer länger und länger bei jeder übergabe. Dass es dafür addslashes und stripslashes bzw vllt für Dich auch interessant htmlspecialchars gibt wurde Dir ja schon gesagt…

VORSICHT!!!

dann brauchst Du da nichts gross beachten.
Die übergebenen Variablen sind eigentlich schon „geslasht“.

Das gilt nur, wenn in der php.ini der Eintrag
magic-quotes-gpc auf on gesetzt ist.

http://de.php.net/manual/de/ref.info.php#ini.magic-q…

Nicht alle Provider setzen diese Einstellung. Zur Sicherheit
also lieber ein addslashes() zuviel, als die Scripte für
sql-injection-Angriffe anfällig zu machen!