Moin!
wie muß ich Formularinhalte behandeln, bevor ich sie in die Datenbank schicke, bzw. nachdem ich sie herausgeholt habe und auf dem Bildschirm anzeigen lasse?
Hängt davon ab, was du tun willst.
Vorher mysql_escape_string und nachher htmlentities? Wie siehts mit Stripslashes aus?
mysql_escape_string() ist zwingend. Damit werden böse Zeichen entschärft, mit denen die Datenbank ansonsten den SQL-Query mißverstehen könnte. Es sorgt dafür, dass die an die Datenbank geschickten Zeichen auch 1:1 dort ankommen.
htmlentities() ist für die Ausgabe dann von Belang, wenn die im String enthaltenen Zeichen literal so erscheinen sollen - und kein HTML wirksam werden darf. htmlspecialchars() tut im Prinzip dasselbe, codiert nur weniger Zeichen. Aber Umlaute etc. sind bei einer korrekten Zeichensatzangabe kein Problem.
stripslashes() mußt du anwenden, wenn dein PHP magic_quotes_gpc() eingeschaltet hat, damit du auf dessen Ergebnis mysql_escape_string() anwenden kannst.
- Sven Rautenberg
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)