Malte Kiefer: Gästebuch mit Seitenscript

Hi,

ich habe hier im Forum diesem Seitenscript gefunden. Jetzt habe ich versucht mein Script vom Gästebuch damit einzubinden. Aber ich habe folgende Fehlermeldung:

Error Reporting ist ganz oben auf der Seite, so wie auch die DB Verbinndung

wo die fehler im Script sind ist ein sternchen angebracht

Notice: Undefined variable: query in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 54

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 54

Notice: Undefined variable: name in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 63

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 71

Notice: Undefined index: seite in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 74

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 90

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 90

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 90

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 90

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 90

Notice: Undefined variable: elemente in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 90

  
  
         $sql = "SELECT name, email, datum, eintrag FROM gbook ORDER BY datum DESC";  
         $result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);  
         ***while ($eintrag = mysql_fetch_array($query)) {  
            $datum[] = $eintrag["datum"];  
            $name[] = $eintrag["name"];  
            $eintraege[] = $eintrag["eintrag"];  
            $email[] = $eintrag["email"];  
  
         }  
  
      //Die Daten werden ausgegeben  
      ***for ($i = 0; $i < count($name); $i++) {  
  
   echo '<span style="color:#ffffff">';  
// Variablen festlegen  
$elemente = array('<table><tr><td><h4><?php echo date("d.m - H:i:s",$datum[$i]).": ".stripslashes($name[$i])." (".stripslashes($email[$i]).")"; ?></h4></td></tr><tr>  
<td><h3><?php echo stripslashes(nl2br($eintraege[$i]."")); ?></h3></td></tr></table><hr>');  
   }  
$elementeproseite = 6;  
$anzahlelemente = count($elemente);  
  
***$datei = $PHP_SELF;  
***$seite = $_GET['seite'];  
if (!$seite) $seite = 1;  
$anzahlseiten = ceil($anzahlelemente / $elementeproseite);  
  
  
// Elemente auflisten  
if ($seite) {  
   $i = ($seite * $elementeproseite) - $elementeproseite;  
   $austritt = $seite * $elementeproseite;  
}  
else {  
   $i = 0;  
   $austritt = $elementeproseite;  
}  
  
for ($i; $i < $austritt; $i++) {  
   ***if ($elemente[$i]) {  
      echo '    ';  
      echo '     '.$elemente[$i].' ';  
  
   }  
}  
  
  
// Seitenauswahl  
if ($seite > 2) {  
   echo '  
  
  
';  
   echo '<a href="'.$datei.'?seite=1">&laquo;</a>';  
   echo '] ';  
}  
  
if ($seite > 1) {  
   echo '  
  
[';  
   echo '<a href="'.$datei.'?seite='.($seite - 1).'">&#8249;</a>';  
   echo '] ';  
}  
  
$seitenanzeige = 1;  
for ($i = 0; $i < $anzahlelemente; $i++) {  
   if ($i % $elementeproseite == 0 && $anzahlelemente > $elementeproseite) {  
      if ($seitenanzeige == $seite) {  
         echo '  
  
(';  
         echo $seitenanzeige;  
         echo ')';  
      }  
      else {  
         echo '  
  
[';  
         echo '<span style="color:#ffffff"><a href="'.$datei.'?seite='.$seitenanzeige.'">'.$seitenanzeige.'</a></span>';  
         echo ']';  
      }  
      if ($anzahlseiten != $seitenanzeige) {  
         echo ' ';  
      }  
      $seitenanzeige++;  
   }  
}  
  
if ($seite < $anzahlseiten) {  
   echo '  
  
[';  
   echo '<span style="color:#ffffff"><a href="'.$datei.'?seite='.($seite + 1).'">&#8250;</a></span>';  
   echo ']';  
}  
  
if ($seite < $anzahlseiten - 1) {  
   echo '  
  
[';  
   echo '<span style="color:#ffffff"><a href="'.$datei.'?seite='.$anzahlseiten.'">&raquo;</a></span>';  
   echo ']';  
}  
echo '</span>';  
  
?>  

  1. Schön wenn man sich aufs Wesentliche beschränkt...

    "Ich poste euch einfach mal meine komplette Webseite" *G

    1. ok hier mal zusammen gefasst:

        
         $sql = "SELECT name, email, datum, eintrag FROM gbook ORDER BY datum DESC";  
      $result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);  
      while ($eintrag = mysql_fetch_array($query)) {  
          $datum[] = $eintrag["datum"];  
          $name[] = $eintrag["name"];  
          $eintraege[] = $eintrag["eintrag"];  
          $email[] = $eintrag["email"];  
        
         }  
        
        //Die Daten werden ausgegeben  
        for ($i = 0; $i < count($name); $i++) {  
        
       echo '<span style="color:#ffffff">';  
      // Variablen festlegen  
      $elemente = array('<table><tr><td><h4><?php echo date("d.m - H:i:s",$datum[$i]).": ".stripslashes($name[$i])." (".stripslashes($email[$i]).")"; ?></h4></td></tr><tr>  
      <td><h3><?php echo stripslashes(nl2br($eintraege[$i]."")); ?></h3></td></tr></table><hr>');  
       }  
      $elementeproseite = 6;  
      $anzahlelemente = count($elemente);  
        
      $datei = $PHP_SELF;  
      $seite = $_GET['seite'];  
      if (!$seite) $seite = 1;  
      $anzahlseiten = ceil($anzahlelemente / $elementeproseite);  
        
        
      // Elemente auflisten  
      if ($seite) {  
       $i = ($seite * $elementeproseite) - $elementeproseite;  
       $austritt = $seite * $elementeproseite;  
      }  
      else {  
       $i = 0;  
       $austritt = $elementeproseite;  
      }  
        
      for ($i; $i < $austritt; $i++) {  
       if ($elemente[$i]) {  
      
      
    2. Hello,

      Schön wenn man sich aufs Wesentliche beschränkt...

      "Ich poste euch einfach mal meine komplette Webseite" *G

      Mach doch. Das will ich sehen.
      Wetten, das Du das nicht hinbekommst?
      Oder besteht Deine Webseite nur aus einer "Visitenkarte"?

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Herrlich :)

        Die beste Unerhaltung ist wenn sich andere die Blöße geben...

        http://www.google.de/search?hl=de&newwindow=1&q=define%3AIronie&btnG=Suche&meta=lr%3Dlang_de

        Nichts für ungut... soll ja nicht off topic werden, ich halt mich raus...

  2. Hi,

    $result = mysql_query($sql)
    ^^^^^^^

    und

    while ($eintrag = mysql_fetch_array($query))
                                        ^^^^^^^^

    Und dann fragst du noch, wo der Fehler liegt?
    Und bei den Notices steht do dabei, was nicht passt. Du Arbeitest mit Variablen, die du nicht initialisiert hast.

    1. Hi,

      und wie kann ich die Variablen initalisieren?

      1. Hi,

        und wie kann ich die Variablen initalisieren?

        z.B. mit
        $variable='';
        $variable=0;

        oder sonst irgendeinem Wert, den du haben willst. Das hat was mit sauberen Programmierstil zu tun. In Sprachen wie C haben avriablen einen undefinierten Zustand, bevor sie initialisiert werden, was zu durchaus unerwünschten Effekten führen kann.

        1. Habe es gemacht bekomme folgende Fehlermeldung weiter:

          Notice: Undefined index: seite in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 77

          Notice: Undefined offset: 1 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 93

          Notice: Undefined offset: 2 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 93

          Notice: Undefined offset: 3 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 93

          Notice: Undefined offset: 4 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 93

          Notice: Undefined offset: 5 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 93

          1. Und ich soll jetzt anhand der Fehlermeldungen wissen, wie dein Code aussieht? Meine Kristallkugel ist leider in reparatur

            1. Du hast die PHP-Doku nicht gelesen
            2. Du hast hier die FAQ nicht gelesen

            Hol beides nach. Aschliessend nutzt du hier die Suchfunktion oder alternativ Google. Wenn du dann immer noch nichts gefunden hast, frag hier nochmal.

            1. Hi,

              ok habe nichts gefunden und in einen anderen Forum konnten sie mir auch nicht helfen...

              hier die code für folgende Fehlermeldung:

              Notice: Undefined index: seite in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 82

                
              $seite = $_GET['seite'];  
              
              

              2. Felhermeldung

              otice: Undefined offset: 1 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 98

              Notice: Undefined offset: 2 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 98

              Notice: Undefined offset: 3 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 98

              Notice: Undefined offset: 4 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 98

              Notice: Undefined offset: 5 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 98

              in dieser Zeile:

                
                
               if ($elemente[$i]) {  
              
              

              und das steht in der Variable $elemente:

                
              $elemente = array('<table><tr><td><h4><?php echo date("d.m - H:i:s",$datum[$i]).": ".stripslashes($name[$i])." (".stripslashes($email[$i]).")"; ?></h4></td></tr><tr>  
              <td><h3><?php echo stripslashes(nl2br($eintraege[$i]."")); ?></h3></td></tr></table><hr>');  
               }  
              
              
              1. Hallo Malte,

                Notice: Undefined index: seite in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 82
                $seite = $_GET['seite'];

                hehe, dann hat meine Glaskugel ja wirklich Recht gehabt :-)

                Grüße aus Nürnberg
                Tobias

              2. Hi,

                $seite = $_GET['seite'];

                  
                Ich hab dir vorher geschrieben, das du Variablen initialisieren musst, um diese Fehlermeldung zu vermeiden.  
                Da frag ich mich aber jetzt, wo du $\_GET['seite'] initialisiert hast.  
                  
                Wenn du nichtmal das machst, was man dir sagt, ist dir nicht zu helfen. Um das Forum von weiteren unnötigen Posts zu verschonen:  
                  
                if(isset($\_GET['seite']))  
                     $seite = $\_GET['seite'];  
                
                
              3. hi,

                ok habe nichts gefunden

                du hast also jetzt in sieben minuten sowohl die hiesigen FAQ als auch das PHP-Manual gelesen?

                wenn du jetzt PHP "könntest", würde ich sagen respekt - aber so bleibt nur die vermutung, dass du in der zwischenzeit mal wieder so gut wie gar nichts gemacht hast, und schon wieder mit deiner "macht mal"-einstellung erneut nachfragst.

                und in einen anderen Forum konnten sie mir auch nicht helfen...

                wäre kein wunder, wenn die da auch "keinen bock" auf jemanden mit deiner einstellung haben.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
          2. Hallo Malte,

            Notice: Undefined index: seite in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 77

            *argh* ist es den soo schwer in den Code zu schauen und sich zu fragen, warum php bei der Zeile
              $seite = $_GET['seite'];
            meckert (die Zeile hat jedenfalls meine Glaskugel für schuldig erklärt)?

            Es gibt an der Stelle einfach kein Array-Element mit dem Schlüssel "seite" in $_GET, also gibt PHP einen Hinweis aus. Sinnvoller wäre an der Stelle wohl ein $seite = isset($_GET['seite'])?$_GET['seite']:1; (dazu lies dazu bitte http://de2.php.net/isset und http://de2.php.net/language.operators.comparison).

            Notice: Undefined offset: 1 in D:\apachefriends\xampp\htdocs\arne\gbook.php on line 93

            die Meldungen rühren vermutlich daher, dass du $element weiter oben nur mit einem Element gefüllt hast - mit der Zeile $elemente = array('<table><tr>[...]'); überschreibst du das Element in $elemente nämlich bei jedem Schleifendurchlauf ...
            Richtiger wäre an der stelle $elemente[] = '...'; (siehe http://de2.php.net/language.types.array#language.types.array.syntax.modifying, lies die Seite bitte gleich ganz durch) - ich vermute aber mal, dass die Zeiles sowieso nicht das macht was du erwartest, da die enthaltenen Funktionen (nl2br, stripslashes, date) nicht ausgeführt werden (da innerhalb von Anführungszeichen), sondern einschließlich der überflüssigen <?php bzw. ?> als Text im HTML-Dokument landen.

            Grüße aus Nürnberg
            Tobias

      2. Hallo Malte,

        und wie kann ich die Variablen initalisieren?

        RTFM.

        Grüße aus Nürnberg
        Tobias

  3. Lieber Malte Kiefer,

    ich lese Deinen Namen in diesem Forum immer wieder. Bist neu hier. War ich auch mal. Jedoch...

    ... Deine Fragen sind bisher alle nach dem Motto: "Ich möchte gerne das und das realisieren. Ich habe hier diesen (irgendwo hergeholten) Code. Es kommt nicht das heraus, was ich will. Wer macht mir das Dingens passend?" - Und das genau ist nicht das, was man hier unter "self", also "selbst" (im Sinne von selbstgemacht) versteht!

    Sei bitte bitte so gut und _lerne_ ein paar _Grundlagen_! Dann hast Du wirklich etwas für Dich getan, kannst darauf aufbauend weiter lernen und gehst hier niemandem unnötigerweise und ungewollt auf die Nerven. Wir alle haben sicher irgendwann mit den zunächst einfachsten HTML-Techniken angefangen, um dann später immer mehr "drumherum" dazu zu lernen. Was willst Du mit PHP, wenn Du mit HTML noch nicht klarkommst?

    Natürlich ist aller Anfang mit Überwindung und Geduld verbunden, aber der Erfolg wird Dir Recht geben.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.