Im Gästebuch neuester Eintrag zuerst ([php])

D

Darkness

Ich raffs einfach nicht warum der Code nicht funzt,
ich hab mir jetzt bestimmt schon jeden Thread 10 mal durchgelesen, bei dem es um dasselbe Thema geht, aber ich bekomms einfach nicht hin!

Er überschreibt zwar die Datei, aber er fügt nichts neues ein :(
PHP:
$show_vorschau = $message;
# Schreiben der Einträge
$datei = "saved.php";
$posts = fopen($datei,"r");
$size = filesize($posts);
$var = fread ($posts,$size);
fclose($posts);
fopen($datei,"w"); // Hier wird die Datei überschrieben (=Problem)
fwrite($posts,$message); // der neue eintrag
fwrite($posts,"\n");
fwrite($posts,$var); // die alten Einträge
fclose($posts);

Ich hoffe ihr könnt mir helfen damit ich endlich weiterproggen kann ;)

Cya Darkness:rolleyes:
 
Hi!

Du öffnest hier zwar die Datei:
PHP:
fopen($datei,"w"); // Hier wird die Datei überschrieben (=Problem)
Aber du sagst nicht welche Variable das später die Datei representieren soll! Also so:

PHP:
$posts = fopen($datei,"w"); // Hier wird die Datei überschrieben (=Problem)
 
das: $posts = hab ich ausversehen gelöscht, aber das war leider nicht der Fehler.:(

Noch andere Vorschläge?!
 
Ist $message gesetzt?
Also am Anfang gibst du ja den Wert von $message in die Variabel $show_vorschau .
Nachher verwendest du aber doch wieder $message .
Ich denke du hättest eher
PHP:
$message = $show_vorschau;
schereiben wollen oder?

Wie heist die Variabel die von der vorherigen Seite übergeben wird? $show_vorschau oder $message ?
 
:eek: wow... so viele kleine fehler in diesem kurzem stück...

jetzt hab ich das Problem aber immer noch, diesmal schreibt er aber wenigstens den neuesten Beitrag und die restlichen läßt er verschwinden, aber naja hauptsache nen kleinen schritt weiter.thx!

Weder noch, in der config.php hab ichs einfach so gemacht...:

PHP:
$show_vorschau = "<div align=center><table border=" .$tblborder. " cellspacing=" .$tblcellspacing. " cellpadding=" .$tblcellpadding. " width=" .$tblwidth. " bordercolor=" .$tblbordercolor. "><tr><td>" .$name. "&nbsp@&nbsp" .$datum. "&nbsp|&nbsp<a href=mailto:" .$email. ">Email</a>&nbsp|&nbsp<a href=" .$homepage. ">Homepage</a>&nbsp|&nbsp<a href=http://wwp.icq.com/scripts/contact.dll?msgto=" .$icqnr. "><img src=http://wwp.icq.com/scripts/online.dll?icq=" .$icqnr. "&img=5 border=0></a></td></tr><tr><td>" .$eintrag. "</td></tr><tr><td><font color=#BF0000></font></td></tr></table></div>";

...damit ich bei der Vorschau nur noch echo $show_vorschau machen musste.
Also ist sozusagen die ganze message variable die show_vorschau variable.
 
das einlesen der alten Einträge ist am einfachsten mit der Funktion file()

PHP:
$array=file("datei.txt");

damit hast Du Zeile für Zeile in dem Array.

Das schreiben geht dann so:

PHP:
fwrite($posts,$neueintrag);
for ($i=0; $i<sizeof($array); $i++; ) {
   fwrite($posts,$array[$i]);
}

hoffe das funzt, denn ich habs jetzt nicht getestet. ;)

Gruß
Dunsti
 

Neue Beiträge

Zurück