Sönke Tesch: blaettern

Beitrag lesen

ch habe das
fputs($a,"$inhalt");
       ^
in $d umgeschrieben.

Das halte ich für ein Gerücht..

$a = fopen("gaestebuch.txt","r+");
  $inhalt= fread($a,("gaestebuch.txt"));
  fclose($a);

$d=fopen("gaestebuch.txt","w+"); // Datei zum Anhängen öffnen
  if ($d) // Öffnen hat geklappt, $d ist ein Dateizeiger

{

fputs($d,"Von: ".htmlentities($name)."<br><br>");
       fputs($d,strtr(nl2br(htmlentities($text)."$inhalt"."<br><hr><br>"),"\n\r"," "));
   fputs($d,"\n");
   fclose($d);

};

$b = fopen("gaestebuch.txt","a");
   fputs($b,"$inhalt");

-------------^
..oder was ist das?

fclose($b);

Das muesste doch gehen?

Nein, nicht, wenn Du keinen Überblick mehr hast, was Du da eigentlich veranstaltest. Wo kommen denn die letzten drei Zeilen plötzlich her, es war doch vorher schon vollkommen richtig!? Außerdem fehlen in dem Code oben mehrere geschweifte Klammern um die if-Anweisungsblöcke.

Ich schicke Dich hiermit auf Start zurück und erkläre, daß Du beim Würfeln mindestens zweimal aussetzen mußt, denn:

a) Sauberen Code schreiben.
b) Nicht stupide abtippen, sondern Schritt für Schritt überlegen und _verstehen_, was dort gemacht wird. Gehe nicht über Los, ziehe keine Überraschungskarte mit "Extrawurf" ein, sondern befrage die PHP-Anleitung, bis Du die Vorgehensweise 110%-ig verstanden hast.

Und, ich habe auch zuerst an "array_reverse" gedacht,

Und soweit ich das verstanden habe,geht das so, dassdie datei abschnittweise ausgegeben wird, 10 zeilen pro Abschnitt.

und wenn man sie alle einzeln umdrehen wuerde, gaebe es ein "Tohuwabohu".

10 9 8 7 6 5 4 3 2 1 20 19 18 17 16 15 14 13 12 11 30 29 28 27 26 25 24 23 22 21

Für Logikfragen bin ich nicht zuständig :) Meines Erachtens müsste es aber so laufen:

Wir lesen in der '$g=file("gaestebuch.txt")'-Zeile die _komplette_ Gästebuchdatei in ein Feld ein:

Eintrag: a b c d e f g h i j k l m
Index:   0 1 2 3 4 5 6 7 8 9 0 1 2
                             10

Dann wird sie umgedreht (die Inhalte/Einträge, _nicht_ die Indizes):

Eintrag: m l k j i h g f e d c b a
Index:   0 1 2 3 4 5 6 7 8 9 0 1 2
                             10

Eigentlich müsste das funktionieren, wenn man jetzt beispielsweise mit $start=2 beginnt, fünf Einträge ausgibt (k j i h g) und auf der nächsten Seite dann entsprechend mit $start=7 (also 2+5) beginnt: f e d c b.

Gruß,
  soenk.e