Aloha!
Frage: Muss ich etwa auch beim wiedergeben der Datenbank in der while Schleife nochmals nl2br(); anwenden? Oder woran könnte es sonst liegen?
Deine Vorgehensweise klingt zwar nicht falsch, aber ich würde die Zeilenumbrüche erst bei der Ausgabe des Gästebuches umwandeln, nicht beim Speichern. Damit hast du größere Freiheiten, z.B. einen Adminbereich zu gestalten.
Folgende Vorgehensweise ist schlau:
<textarea> -> add_slashes() bzw. magic_quotes -> Speichern in DB
Lesen aus DB -> htmlspecialchars() -> nl2br() -> Ausgabe als HTML
Lesen aus DB -> htmlspecialchars() -> Ausgabe in Textarea
Mit diesem Vorgehen hälst du dir die Möglichkeit offen, den Inhalt der Datenbank beliebig in Textareas zu bearbeiten.
nl2br() dürfte bekannt sein.
htmlspecialchars() wandelt die HTML-Sonderzeichen <, >, & und " um in $lt;, >, & und " - damit kann in der Textarea kein HTML-Code mehr eingegeben werden, sondern der Text wird 1:1 so wie hier im Forum wiedergegeben. Das schützt dich vor Crackern, die andernfalls böse Javascripte einschleusen könnten.
- Sven Rautenberg