Enrico: Blätterfunktion wechselt nicht

Hallo,

Die Blätter-Funktion zum Anzeigen vorhandener Gästebuch-Einträge funktioniert nicht richtig, d.h. die Seiten und die Navigation werden nicht gewechselt.
Alles andere (korrekte, verteilte Anzeige der vorhandenen Einträge, sowie die Navigation) werden so angezeigt, wie es sein soll.

Beim Anklicken wird die Seite aber neu aufgerufen, jedoch mit unveränderter Anzeige.
Ich erhalte auch keine Fehlermeldung.

Ich habe folgende Gästebuch-Dateien zum Anzeigen der vorhandenen Einträge:

  1. CSV_gaestebuch_config.csv:
       (Definitionen der Variablen)
       [...]
       $dateiname = "CSV_gaestebuch_eintraege.csv";
       $entries_per_page = "5";

  2. PHP_gaestebuch_eintraege_lesen.php:
       (eigentliche Datei für die HTML-Ausgabe)

<html>
  <head>
    [...]
  </head>
  <body>
    <?php
      [...]
      include ("CSV_gaestebuch_config.csv");
      $datei = file($dateiname);
      $entry_count = count($datei);

if (!$index)
        $index = 0;

$last = $index + $entries_per_page;
      if ($last > $entry_count)
        $last = $entry_count;

$new_index_before = $index -$entries_per_page;
      $new_index_after = $index +$entries_per_page;

$site_count = ceil($entry_count / $entries_per_page);

if ($new_index_before >= 0)
        echo "<a href="PHP_gaestebuch_eintraege_lesen.php?index=" .$new_index_before .""><<</a> ";

for ($i = 0; $i < $site_count; $i++)
      {
        $site_index = $i *$entries_per_page;
        $site_name = $i +1;
        if ($index != $site_index)
          echo "[<a href="PHP_gaestebuch_eintraege_lesen.php?index=" .$site_index .""> Seite" .$site_name ."</a>] ";
        else
          echo "Seite" .$site_name ." ";
      }

if ($new_index_after < $entry_count)
        echo "<a href="PHP_gaestebuch_eintraege_lesen.php?index=" .$new_index_after ."">>></a>";

echo('<br><br>');

for ($i = $index; $i < $last; $i++)
      {
        $eintrag = explode("|", $datei[$i]);
        [...]
      }
    ?>
  </body
</html>

Was stimmt noch nicht ?

Gruss, Enrico

  1. Hallo,

    Die Blätter-Funktion zum Anzeigen vorhandener Gästebuch-Einträge funktioniert nicht richtig, d.h. die Seiten und die Navigation werden nicht gewechselt.
    Alles andere (korrekte, verteilte Anzeige der vorhandenen Einträge, sowie die Navigation) werden so angezeigt, wie es sein soll.

    Beim Anklicken wird die Seite aber neu aufgerufen, jedoch mit unveränderter Anzeige.
    Ich erhalte auch keine Fehlermeldung.

    Ich habe folgende Gästebuch-Dateien zum Anzeigen der vorhandenen Einträge:

    1. CSV_gaestebuch_config.csv:
         (Definitionen der Variablen)
         [...]
         $dateiname = "CSV_gaestebuch_eintraege.csv";
         $entries_per_page = "5";

    2. PHP_gaestebuch_eintraege_lesen.php:
         (eigentliche Datei für die HTML-Ausgabe)

    <html>
      <head>
        [...]
      </head>
      <body>
        <?php
          [...]
          include ("CSV_gaestebuch_config.csv");
          $datei = file($dateiname);
          $entry_count = count($datei);

    if (!$index)
            $index = 0;

    Wo kommt den $index her? Per $_POST oder $_GET?

    Wenn ja -> ist register_globals=On?

    Sonst ergibt diese if-Anweisung immer TRUE

    $last = $index + $entries_per_page;
          if ($last > $entry_count)
            $last = $entry_count;

    $new_index_before = $index -$entries_per_page;
          $new_index_after = $index +$entries_per_page;

    $site_count = ceil($entry_count / $entries_per_page);

    if ($new_index_before >= 0)
            echo "<a href="PHP_gaestebuch_eintraege_lesen.php?index=" .$new_index_before .""><<</a> ";

    for ($i = 0; $i < $site_count; $i++)
          {
            $site_index = $i *$entries_per_page;
            $site_name = $i +1;
            if ($index != $site_index)
              echo "[<a href="PHP_gaestebuch_eintraege_lesen.php?index=" .$site_index .""> Seite" .$site_name ."</a>] ";
            else
              echo "Seite" .$site_name ." ";
          }

    if ($new_index_after < $entry_count)
            echo "<a href="PHP_gaestebuch_eintraege_lesen.php?index=" .$new_index_after ."">>></a>";

    echo('<br><br>');

    Das sieht der Validator gar nicht gern!

    http://validator.w3.org

    for ($i = $index; $i < $last; $i++)
          {
            $eintrag = explode("|", $datei[$i]);
            [...]
          }
        ?>
      </body
    </html>

    Hallo Enrico,

    insgesamt kenne ich diesen Code schon von einem anderen Posting. Daher vermute ich mal, daß Du einen vorgefertigtes Gästebuch versuchst umzuschreiben. Viele Variablen lassen sich durch Deine Auslassungen nicht nachvollziehen.
    Offengestanden halte ich nichts davon, seinen Usern ein Gästebuch hinzustellen wie eine Tüte Chips (so - aufreisen - in eine Schale füllen - fertig). Mach Dir doch mal eigene Gedanken ;)
    Alles, was Du brauchst, ist ->

    count()
    explode()
    fclose()
    file()
    fopen()
    fputs()
    und das Verständnis für Schleifen und Variablenübergabe. Mehr brauch man nicht ;)

    Gruß aus Berlin!
    eddi