Hi!
Die Daten kommen über ein Formular per POST (10 POST Felder), auf die Seite, also wandel ich alle Daten bevor ich sie weiterverarbeite mit:
htmlspecialchars()
um.
Falsch. Zur Weiterverarbeitung werden die Rohdaten benötigt. Siehe HTML in der Datenbank.
Nach dem kein Fehler mehr vorliegt wandel ich diese dann per
mysql_real_escape_string()
und schreibe sie in die Datenbank!
Im Falle MySQL richtig.
Wenn ich diese wieder auslese, dann wandel ich sie wieder per
htmlspecialchars()
zurück.
Nein, nicht beim Auslesen, egal woher, sondern erst beim Einfügen in den HTML-Kontext müssen sie HTML-gerecht behandelt werden. Wenn du sie anderswo einfügst, gelten die Regeln des anderen Kontextes.
Lo!