Gästebuch

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gästebuch

    Hallo,

    ich habe ein Problem beim Scripten. Ich versuche ein Gästebuch zu erstellen, leider kommt solcher Fehler raus:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 50

    Hier mein Code:

    PHP-Code:
    <form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung">
    <k>Name:</k><h1><input type="text" name="name" size="25">   </br> </h1>
    <k>Email:</k><h1><input type="text" name="email" size="25">     </br>  </h1>
    <k>Homepage:</k><h1><input type="text" name="homepage" size="25">  </br> </h1>
    <k>Message:</k><h1><textarea name="message" cols="20" rows="25"></textarea> </br> </h1>
    <h1><input type="submit" name="neueintrag" value="Eintragen">  </h1>
    <h1><input type="reset" value="L&ouml;schen">    </h1>
    <div>
    </form>

    <?php>
    // Zunächst brauchen wir eine Datenbankverbindung:
    $db = mysql_connect('localhost', 'name', '****');
    if (mysqli_connect_errno()) {
        die('Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error());
        // ist zwar keine saubere Fehlermeldung aber ist ja auch nur ne einfache Inplementierung
    }

    mysql_select_db("datenbank"); //Datenbank auswählen in die geschrieben werden soll

    if($neueintrag) //ueberprueft ob der submit button gedrückt wurde
    { //Wenn ja dann daten in den guestbook table eintragen

        $id = time(); //time() gibt die zeit seit dem beginn des Unix Zeitalters in sekunden zurück
                      //wir benutzen id als Datums und Identifikations-Angabe, doch mehr dazu später

        $name = addslashes($name);             //Zeichen die im Programm Probleme verursachen könnten in PHP Spezialzeichen umwandeln
        $email = addslashes($email);         // -"-
        $homepage = addslashes($homepage);    // -"-
        $message = addslashes($message);    // -"-

        $sqlkommando = "INSERT INTO guestbook (id, name, email, homepage, message) VALUES ('$id', '$name', '$email', '$homepage', '$message')";
        // Auf gut deutsch: Füge in guestbook bei "id, name, email, homepage, message" die werte der variablen "$id, $name, $email, $homepage, $message" ein

        mysql_query($sqlkommando) or die("Error: " . mysql_error()); // Kommando 'sqlkommando' ausfuehren
                                                                     // bei misserfolg beenden und fehlermeldung ausgeben

        echo "Eintragung erfolgreich hinzugefügt"; // Bestätigung ausgeben
    }

    $sql = "SELECT * FROM guestbook ORDER BY id DESC";
        $result = mysql_query($sql) or die("Error: " . mysql_error());;
        while($daten = mysql_fetch_object($result)) // Solange wie daten ausgelesen werden können sollen
        {                                                // sie in das Objekt '$daten' geladen und die folgende
                                                        // schleife ausgegeben werden
            $datum = getdate($daten->id); // Datum aus 'id' konvertieren und in das 'datum' array packen

            echo "Eintrag von ". stripslashes($daten->name) ."\n<br>"; // PHP sonderzeichen entfernen und name ausgeben
            echo "Email: <a href=\"mailto:".stripslashes($daten->email)."\">".stripslashes($daten->email)."</a>\n<br>";
            echo "Homepage: ".stripslashes($daten->homepage)."\n<br>";
            echo "Geschrieben: $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]"; // Datum ausgeben (Englisch siehe Moartel Tutorial)
            echo "<br>";
            echo "Kommentar: <br>";
            echo nl2br(stripslashes($daten->message)); //nl2br = Zeilenumbrüche in HTML-Umbrüche (<br>) umwandeln
            echo "\n<br><br>\n";
        }
    Zuletzt geändert von capval; 14.03.2009, 09:38.

  • #2
    Du hast das mysql_query() vergessen.
    Mein PHP Blog

    Kommentar


    • #3
      jetzt kommt kein Fehler raus, aber wenn ich was eintrage, dann gibt es keine Eintragung zu sehen.

      Kommentar


      • #4
        http://php-faq.de/q-formular-register-globals.html

        Kommentar


        • #5
          Parse error: syntax error, unexpected T_IF in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 20




          PHP-Code:
          if($neueintrag//ueberprueft ob der submit button gedrückt wurde
          //Wenn ja dann daten in den guestbook table eintragen

              
          $id time(); //time() gibt die zeit seit dem beginn des Unix Zeitalters in sekunden zurück
                            //wir benutzen id als Datums und Identifikations-Angabe, doch mehr dazu später

              
          $name addslashes($name);             //Zeichen die im Programm Probleme verursachen könnten in PHP Spezialzeichen umwandeln
              
          $email addslashes($email);         // -"-
              
          $homepage addslashes($homepage);    // -"-
              
          $message addslashes($message);    // -"-

              
          $sqlkommando "INSERT INTO guestbook (id, name, email, homepage, message) VALUES ('$id', '$name', '$email', '$homepage', '$message')";
              
          // Auf gut deutsch: Füge in guestbook bei "id, name, email, homepage, message" die werte der variablen "$id, $name, $email, $homepage, $message" ein

              
          mysql_query($sqlkommando) or die("Error: " mysql_error()); // Kommando 'sqlkommando' ausfuehren
                                                                           // bei misserfolg beenden und fehlermeldung ausgeben

              
          echo "Eintragung erfolgreich hinzugefügt"// Bestätigung ausgeben

          Kommentar


          • #6
            Lass mich raten, Zeile 20 ist die erste Zeile deines Auszugs?

            BTW: Wieso ignorierst du den Hinweis bezüglich Register Globals müssen wir da immer noch jeden Neuling drauf hinweisen?

            Kommentar


            • #7
              [QUOTE]Original geschrieben von TobiaZ
              Lass mich raten, Zeile 20 ist die erste Zeile deines Auszugs?

              ja

              Kommentar


              • #8
                Dann guck mal die Zeile darüber an.
                Mein PHP Blog

                Kommentar


                • #9
                  komisch, aber es wird gar nichts in eine Datenbank eingetragen

                  stattdessen kommt ein Fehler, aber viel später

                  Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 40


                  Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 40
                  Error: Access denied for user 'www-data'@'localhost' (using password: NO)

                  Kommentar


                  • #10
                    Vermutlich weil du mysqli_connect_errno() verwendest um die Verbindung anfangs zu überprüfen ...
                    Mein PHP Blog

                    Kommentar


                    • #11
                      Original geschrieben von ModestLife
                      Vermutlich weil du mysqli_connect_errno() verwendest um die Verbindung anfangs zu überprüfen ...
                      ohne die Zeile funktioniert auch nicht

                      Kommentar


                      • #12
                        in deinem fall wäre ein ausführliches debugging von Nöten. Lies dir das mal genau durch, dann findest du sicher sehr schnell den/die Fehler.

                        peter
                        Zuletzt geändert von Kropff; 14.03.2009, 15:46.
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 41

                          Kommentar


                          • #14
                            Wenn du nach Hilfe fragst und dazu Anregungen erhälst, dann aber nicht darauf eingehst, werden dir die Leute nicht lange helfen. Ich bin raus ...
                            Mein PHP Blog

                            Kommentar


                            • #15
                              Problem gelöst, danke

                              Kommentar

                              Lädt...
                              X