Guten Abend zusammen,
vorab muss ich sagen, dass ich ein totaler PHP-Neuling bin und mir das Gästebuch durch verschieden Tutorials erarbeitet habe.
Nun mein Problem:
Die Mitteilung, die in das Eingabefeld eingegeben wird, wird in der datei daten.dat gespeichert. Wenn im Eingabefeld ein "Enter"-Befehl eingegeben wurde, soll in die daten.dat ein <br/> eingefügt werden. Das klappt beim ersten eintrag auch gut, nur der zweite Eintrag wir direkt unter den ersten gesetzt, ohne den Eintrag als neu kenntlich zu machen. Die Fehlerhafte Zeile habe ich auch schon ausfindig machen können. Wenn ich diese weglasse, klappt alles fehlerfrei, allerdings werden die Enter-befehle nicht übernommen. Hier die Dateien:
gb.php (verarbeitet die Daten, die vorher in ein HTML-Formular eingefügt wurden)
pinnwand.php (Die "Anzeige-Datei")
Ich hoffe, ihr könnt mir helfen.
mfg nicki1993
vorab muss ich sagen, dass ich ein totaler PHP-Neuling bin und mir das Gästebuch durch verschieden Tutorials erarbeitet habe.
Nun mein Problem:
Die Mitteilung, die in das Eingabefeld eingegeben wird, wird in der datei daten.dat gespeichert. Wenn im Eingabefeld ein "Enter"-Befehl eingegeben wurde, soll in die daten.dat ein <br/> eingefügt werden. Das klappt beim ersten eintrag auch gut, nur der zweite Eintrag wir direkt unter den ersten gesetzt, ohne den Eintrag als neu kenntlich zu machen. Die Fehlerhafte Zeile habe ich auch schon ausfindig machen können. Wenn ich diese weglasse, klappt alles fehlerfrei, allerdings werden die Enter-befehle nicht übernommen. Hier die Dateien:
gb.php (verarbeitet die Daten, die vorher in ein HTML-Formular eingefügt wurden)
PHP-Code:
<?php
$daten=$_POST['name'] . "|" . date("d.m.Y") . "|" . date("H:i") . "|" . $_POST['eintrag'] . "<br />";
$datenbank = "daten.dat";
$daten = str_replace("\n","<br />",$daten); // Hier müsste der Fehler liegen, ohne diese Zeile klappt es
$datei = fopen($datenbank,"a");
fwrite($datei, $daten);
?>
PHP-Code:
<?php
$datenbank = "./daten.dat"; $datei = fopen($datenbank,"r");
$entries = array();
if ($datei) {
while (!feof($datei))
$entries[] = explode('|', fgets($datei));
}
else
echo "Datei konnte nicht geöffnet werden";
for ($i = count($entries) - 1; $i >= 0; $i--)
if (strlen($entries[$i][3]) > 0)
echo '<span style="font-size: 0.8em"><b>' . $entries[$i][0] . '</b> schrieb am <b>' . $entries[$i][1] . '</b> um <b>' . $entries[$i][2] . '</b>:</span><br>' . $entries[$i][3] . '<hr /><br />';
?>
mfg nicki1993
Kommentar