PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Gästebuch/Ascii Datenbank



cocaxx
19-05-2002, 07:48
Hi!

Das Problem:

Ich hab ein kleines Gästebuch geschrieben, dass funzt auch.....d.h. fast.

So werden die Dateien ausgelesen:

function gbuch()
{

$datei = "./data/gbuch.inc";
$trennzeichen = "|:_.-._:|";
if(file_exists($datei))
{
$zeile = file($datei);
for($i=0;$i<sizeof($zeile);$i++)
{
if(($zeile[$i] != "")||($zeile[$i] != "\n"))
{
$eintrag = explode($trennzeichen,$zeile[$i]);
switch($eintrag[2]) {

case 1: $wertung='<img src=./img/gbuch/1.png border=0>';
case 2: $wertung='<img src=./img/gbuch/2.png border=0>';
case 3: $wertung='<img src=./img/gbuch/3.png border=0>';
case 4: $wertung='<img src=./img/gbuch/4.png border=0>';
case 5: $wertung='<img src=./img/gbuch/5.png border=0>';
}

echo "
<table border=0 cellpadding=2 cellspacing=0 width=800>
<tr><td height=15>&nbsp;</td></tr>
<tr><td class=\"header_3\" width=\"800\" height=\"22\" colspan=2><B><font color=\"#ffffff\">$eintrag[0]</font></B></td></tr>
<tr><td class=text_header_box colspan=2>Eintrag von $eintrag[1], $eintrag[2]</td></tr>
<tr><td class=news_text_box width=105>$wertung</td><td>$eintrag[4]</td></tr>
<tr><td class=text_header_box colspan=2><a href=$PHP_SELF?aktion=gbucheintrag>Neuer Eintrag</a></td></tr>
</table>
";
}
}
}
}

Mit dem Case is nur ne Fallunterscheidung um ein Wertungsbild anzuzueigen.

So werden die Dateien geschrieben:

<?php
echo "Danke für ihren Eintrag!";
$trennzeichen = "|:_.-._:|";
$datei = "./data/gbuch.inc";
$neue_zeile=nl2br(htmlentities("\n" . $uschrift . $trennzeichen . $name . $trennzeichen . $mail . $trennzeichen . $wertung . $trennzeichen . $text));
$zeile=file("$datei");
$zeile[sizeof($zeile)] = $neue_zeile;
speichern("$datei",implode("$trennzeichen",$zeile));


function speichern($datei, $eintragen)
{
$fp = fopen($datei, "w");
fwrite($fp, $eintragen);
fclose($fp);
}

So. Das geht auch. Doch wenn einer mit Zeilenumbrüchen schreibt, z.B. folgendes:
<Bsp>
Hallo

Gute Seite
</Bsp>

Dann hab ich 3 Einträge, weil der eingegebene Text nicht in eine Zeile geschoben wird.
Verstanden? Kann mir jmnd weiterhelfen?


mfg
cocaxx

jensemann
20-05-2002, 01:02
Hi
Na ja, ist nicht gerade saubere Programmierung aber erfüllt den Zweck, jag den string vor dem schreiben in in die Datei durch nl2br(), dann werden die strings mit dem html neuzeilen tag (<br>) in die Datei geschrieben.

Mfg jensemann