Gästebuch das auf einer Textdatenbank aufbaut

-GS-Master

Erfahrenes Mitglied
Naja ^^ hallo wieder mal.
Ich bin zurzeit mit einem Gästebuch beschäftigt und hab da nun ein kleines Problem.
Die Einträge werden aus dem Textfile rausgelesen und das klappt ja wunderbar. Nur hab ich ein kleines Problem wie gesagt. Wenn jetzt einer einen Eintrag schreibt und eben einen absatz oder so macht, dann ist das bei meinem Script kein Absatz sondern das ganze ist dann gleich als neuer Eintrag und besetzt gleich eines meiner Templates.

Die Daten stehen in einem Textfile und jeder Eintrag in einer Eigenen Zeile. Die Verschieden Sachen wie Name, Datum, Beitrag etc. sind durch |-| Getrennt.

Um nun zu meiner Frage zu kommen. Wie kann ich den Zeilenumbruch oder Absatz den jemand in seinem Eintrag macht so umwandeln, dass er dann beim auslesen so entsteht und eben nicht gleich ein eigenes Template wieder braucht?
 
Hi,

wandel doch den Zeilenumbruch("\n") in ein Spezial-Zeichen um. Zbs.: "@[][]" oder sowas.
Und später beim Auslesen erstetzt du das wieder durch ein Zeilenumbruch

MArc
 
Hi,
versuche es mal so:
PHP:
$eintragen = str_replace("\n","<br>",htmlentities(stripslashes($_POST['eintrag'])));
und das schreibst du nun in die Textdatei.
schiese
 
Zuletzt bearbeitet:
Sehr schoen, das würde funktionieren, nur leider hab ich das Problem, daser mir das ganze nicht so in die Textdatei schreibt

test<br />test<br />test

Wie das ganze ja
eigentlich sein sollte sondern,

test<br />
test<br />
test

und somit wird das ganze wieder unbrauchbar, weil er mir das ganze dann wieder so wie zufor auf die Templates aufteilt. Könnt ihr mir sagen, wie ich das ganze wenn es so in ein formular eingegeben wird


dann dennoch in einer Zeile in eine Textdatei geschrieben wird ?
 
Hi,
ich weiß zwar nicht, wie du es versuchst, aber bei mir funktioniert folgendes:
PHP:
$eintragen = $_POST['eintragen'];
$rein = str_replace("\n","<br />", $eintragen);


$datei = "datei.txt";
$fp = fopen($datei,"w");
fwrite($fp,$rein);
fclose($fp);

schiese
 
@schiesse, hast Du Dir denn mal das Ergebins von "\n" und "\r\n" angesehen?
Dass umwandeln mit "\n" fügt zwar ein <br /> ein, wandelt aber den tatsächlichen Zeilenumbruch in ein UNIX-Zeilenumbruch um (zu erkennen an den schwarzen Rechtecken, wenn man die Textdatei mit Notepad öffnent).
Dass umwandeln mit "\r\n" hingegen fügt ein <br /> ein und entfernt den tatsächlichen Zeilenumbruch.

Ein nl2br() hingegen fügt lediglich ein <br /> an das Zeilenende an..... der Zeilenumbruch selbt bleibt aber bestehen.

Da bei ihm aber jede Zeile einen neuen Datensatz darstellt, macht sowohl der tasächliche, als auch der UNIX-Zeilenumbruch Probleme.
 
Zurück