Fabian St.: & MySQL: Seltsam abgeschnittene DB-Einträge

Beitrag lesen

Hi!

Neben dem, was dir bereits wahsaga gesagt hat, solltest du noch folgendes beachten:

ich habe ein längeres Formular gebastelt, das auch zwei <textarea>'s enthält. Den gesamten Formularinhalt lasse ich von php in eine MySQL-Datenbank schreiben. Die <textarea>-Inhalte lasse ich als My-SQL-Typ "text" abspeichern, nachdem ich sie mittels strip_tags gereinigt habe.

In die Datenbank sollte wirklich nur der in das Formular eingegebene Wert eingetragen werden, d.h. Funktionen wie strip_tags() oder htmlentities() sollten erst bei der _Ausgabe_ angewandt werden. Dadurch fällt es dir anschließend einerseits leichter, die Einträge für verschiedene Ausgabeformate aufzubereiten und andererseits kannst du z.B. gleich in PHPMyAdmin die Datensätze bearbeiten, ohne dort ein «ä» als &auml; schreiben zu müssen. Dazu gehört übrigens auch die Entfernung eventueller Maskierungs-Backslashes (bedingt durch magic_quotes).

Stattdessen solltest du beim Eintragen auf Funktionen wie mysql_real_escape_string() zurückgreifen, die alle diejenigen Zeichen maskieren, die beim Eintragen Probleme machen könnten. Gleichzeitig schützt du dich dadurch vor SQL-Injections.

Grüße,
Fabian St.