Hello,
Habe ein kleines Formular erstellt. Der Inhalt des Eingabefeldes "Textbereich" wandert wunderbar in die Datenbank. Dabei bleiben die Zeilenumbrüche auch bestehen.
Das sollte nochmal überprüft werden.
Meistens wird hier schon die erste "Verkurbelung" durchgeführt.
Nur, beim Auslesen gehen diese alle verloren.
Ich vermute (aus eigener Erfahrung) eher, dass sie nicht in neutraler Form eingefügt wurden in das Query.
Ich lese den Inhalt der Feldes "inhalt" aus und entferne mit folgendem Code Stripslashes:
Du solltest aber nicht "stripslashes"
http://de3.php.net/manual/de/function.stripslashes.php
entfernen, denn das ist eine Funktion von PHP, die die eingefügten Maskierungen wieder entfernt.
Eingefügt werden sie üblicherweise von PHP automatisch, wenn
magic_quotes_gpc()
http://de3.php.net/manual/de/function.get-magic-quotes-gpc.php
eingeschaltet ist.
Wenn Du die automatischen Maskierungen rekursiv
http://forum.de.selfhtml.org/archiv/2004/1/t68384/#m392313
wieder entfernt hast, dann musst Du sie für die jeweilige Datenbank passend wieder einfügen.
MySQL hat dafür die Funktion
http://de3.php.net/manual/de/function.mysql-real-escape-string.php
Wenn du die Daten dann wieder ausliest aus der Datenbank, sind die Maskierungen wieder verschwunden, denn sie galten der Textschnittstelle der Datenbank. Diese erkennt daran die besondere Bedeutung mancher Zeichen, und trägt daher den resultierenden Raw-Text in die DB ein.
Bei der Ausgabe im HTML muss man dann natürlich die Umbrüche im Raw-Text wieder HTML-konform gestalten und das geht am einfachsten mit nl2br()
http://de3.php.net/manual/de/function.nl2br.php
Wenn ja: Was wäre der Lösungsansatz?
Siehe oben
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau