Gästebuch mit Textfile

Niko86

Grünschnabel
Hallo,
ich habe folgendes Anliegen:
Ich habe mit Php ein Gästebuch,basierend auf einer TXT-Datei, progarmmiert! Es klappt alles(auch das "richtige" einordnen der Einträge) ,aber ich möchte ,dass sobald z.b. 20 Einträge gemacht wurden, automatisch eine neue Seite erstellt wird. Somit will ich verhindern, dass "tausend" Einträge auf einer Seite sind, sondern man unten Seite 1,2,3....n...auswählen kann!
Ich hohhe ihr könnt mir weiter helfen!

MFG

Niko
 
Du liest einfach deine Datei in ein Array und gibst dann nur x Elemente davon aus. Start- und Endpunkt sind frei wählbar, du kannst diesen per Get an dein Script übergeben.
 
Erstma vielen Dank, aber ich kann leider nichts mit deiner Hilfe anfangen! Kann ich dir vll, mal den Quellcode von mir schicken und du zeigst mir was ich verändern muss? Wäre nett

MFG


Niko
 
Du kannst den relevanten Teil des Skriptes gerne posten.
Aber wie gesagt:
- GB aus Datei in ein Array $daten einlesen
- übergebenen Seitenwert aus $_GET[seite] auslesen, überprüfen und ggfs. auf einen Standardwert setzen
- for-Schleife: for ($i=$seitenwert*MAX_EINTRÄGE;$i<=(1 + $seitenwert)*MAX_EINTRÄGE;$i++)
- darin dann $daten[$i] weiterverarbeiten bzw. ausgeben
- Navigation per <a href="index.php?seite=XX">Seite XX</a>
 
Gut, ich werde dann später den Quellcode hier veröffentlichen, bin zur zeit aber nicht an meinem Rechner und mit liegt die php-Datei leier nicht vor!

Niko
 
So....das ist meine "addgbuch.php" datei....hab jetzt einiges Zeilen rausgelassen:

PHP:
  <?php

if(($name == "") || ($kommentar == "") ||($ort == ""))
echo "<div align=center>Es müssen alle Felder ausgefüllt sein!</div>";
if(preg_match('/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/', $email))
{
$x = 0;
 
$datum = date("j.m.y");
$ip = $REMOTE_ADDR;
$dateiname = "eintrag.txt";
$datei = fopen($dateiname, "r");
while (!feof($datei)) {
$x++;
$saved[$x] = fgets($datei, 100000);
}
$daten = "hier wurde mein gbgrundgerüst definiert  ";
fwrite($datei,$daten);
for ($i=1;$i <= $x; $i++) {
fwrite($datei, $saved[$i]);
}
fclose($datei);
echo "<div align=center>";
echo "Ihr Eintrag wurde Erfolgreich zum Gästebuch hinzugefügt!";
echo "<br>";
echo "Zurück zum <a href=\"gbuch.php\" target=_self>Gästebuch</a>";
echo "</div>";

}
else
{
echo "<div align=center><b>$email</b> ist keine gültige Emailadresse. Bitte korregieren Sie Ihre angaben!</div>";
}
?>

Bitte die Stellen deutlich kennzeichnen , die ich verändern muss!

Danke

Niko
 
SEUFZ

Beginne mit dem Auslesen bei PAGE * Einträge pro Seite.
Davor überspringe jeden Eintrag den du ausliest.
Fertig bist du bei PAGE * Einträge pro Seite + Einträge pro Seite.

COUNT = (Summe aller Einträge/Einträge pro Seite) -1

Schreibe mittels einer FOR Schleife und COUNT die Seitenzahlen.
Zur ersten Seite springst du mit LINK?PAGE=0 und zur letzten mit
LINK?PAGE=COUNT

Den Rest überleg dir bitte selbst.

Nils
 
Zurück