Mein Server mag keine Gaestebuecher!

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

  • Mein Server mag keine Gaestebuecher!

    Hallo Leute, habe da ein unfassbares Problem. Entweder bin ich zu blöd oder Mein WAMP-System mag einfach keine Gästebücher-Scripts.

    Habe schon drei verschiedene ausprobiert, alle laufen nicht richtig.

    Genauer: Das erstellen eines neuen Eintrags klappte bei allen nicht.
    Es gab aber nie eine Fehlermeldung o.ä.

    http://www.mit-blackjack-und-nutten.de/guestbook.zip

    Dies habe ich zuletzt ausprobiert, ein ganz einfaches, wo man nur die Datenbank erstellen muss und die SQL-Verbindungsdaten eingeben muss. Das habe ich auch immer gemacht.

    Übrigens, Alle anderen Scripts mit SQL funzen auch, nur Gaestebücher nicht!!!

    Kann mir jemand irgendwie nen Tip geben, was ich sonst falsch machen könnte????

    Mfg

    Piumer

  • #2
    Ich würd sagen du machst was falsch oder du saugst ganz schön komische Gästebücher!

    // Edit:
    lol was ein Müll: "Sofern die SQL-Daten richtig eingegeben wurden, sind jetzt alle Tabellen erstellt!"

    Nimm mal diese guestbook_add.php
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

          
    $datum date("d.m.Y");

          include 
    "mysql_connect.php";

          if (
    $_POST['name'] == "" || $_POST['text'] == "")
          {
            echo 
    "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">";
          }
          else
          {

          if (
    $_POST['homepage'] == "http://")
          {
            
    $_POST['homepage'] = "";
          }

          
    $sqlab "INSERT INTO guestbook";
          
    $sqlab .= " (name, email, homepage, text, datum) values ";
          
    $sqlab .= "('".$_POST['name']."', '".$_POST['email']."', '".$_POST['homepage']."', '".$_POST['text']."', '".$datum."')";

          
    mysql_db_query("$database_name"$sqlab) OR die(mysql_error());

          
    $num mysql_affected_rows();
          
          if (
    $num 0) {
            echo 
    "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">";
          }

          
    mysql_close($db);

          }
    ?>
    Bei mir funzt es damit. Es kann sein, dass dein PHP "falsch" konfiguriert ist und somit keine $foo Variablen annimmt bei eigentlichen $_POST Variablen.
    Zuletzt geändert von freq.9; 15.04.2004, 21:10.
    Admin of RealScripts

    Kommentar


    • #3
      Klappt auch nicht!

      Danke freq.9 für Deine Mühe. Leider hat es aber nichts genützt.
      Das selbe Problem.

      Was meintest Du, mein PHP nimmt evtl keine $foo Variablen an?
      Hm, kenne mich noch nicht so weit aus, weiss nicht was $foo Variablen sind, aber ich versuche mich mal schlau zu machen.

      Wäre nett, wenn mir jemand erklären könnte, wie ich das nachprüfen kann, ob die $foo - Dinger nicht i.O. sind und ob ich das vieleicht sogar schaffen könnte, das es richtig konfiguriert wird.

      Noch nen Schönen Abend,

      Gruß, Piumer!

      Kommentar


      • #4
        Ne ich meine, es kann sein dass dein PHP "falsch" (ist nicht falsch, nur für dieses Problem isses jetzt falsch) konfiguriert. PHP will die Daten an $_POST['xxx'] übergeben und kontrolliert $xxx und das gibts nicht, also wird nichts eingetragen. Weil Variablen, die per POST übergeben werden nutzt man so: $_POST['xxx'] oder die alte Version $HTTP_POST_VARS['xxx']. Genauso mit Variablen die über GET übergeben werden, also über die Adresszeile. Wenn da steht index.php?id=5 oder so dann ruft man die 5 nicht mit $id ab sondern mit $_GET['id']. Nur Variablen die nicht übergeben werden an andere Dateien übergibt man mit ner "normalen" Variable $xxx. Ich hoffe man konnte es verstehen.

        // Edit:
        Wird denn in die DB geschrieben? Ersetzt mal oben in allen PHP-Dateien die 0 im error_reporting() durch E_ALL. Dann sollten alle Warnings, Natoices etc, falls welche da sind, angezeigt werden.
        Admin of RealScripts

        Kommentar


        • #5
          E_ALL

          Also, habe in den zwei Dateien die 0 mit E_ALL ersetzt.

          Wenn ich nun die index starte, in dem die Einträge gezeigt werden, kommt folgende Meldung:

          Notice: mysql_db_query is deprecated; use mysql_select_db() and mysql_query() instead in C:\FoxServ\www\Gaestebuch\index.php on line 8

          Was bedeutet das?

          Wie Du mir dass mit dem $POST erklärt hast, ist einleuchtend. Aber im Script werden die Variablen ja auch mit ($_POST['variable'] abgerufen. Siehe guestbook_add.php

          PHP-Code:
          <?php
          error_reporting
          (E_ALL);

                
          $datum date("d.m.Y");

                include 
          "mysql_connect.php";

                if (
          $_POST['name'] == "" || $_POST['text'] == "")
                {
                  echo 
          "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">";
                }
                else
                {

                if (
          $_POST['homepage'] == "http://")
                {
                  
          $_POST['homepage'] = "";
                }

                
          $sqlab "INSERT INTO guestbook";
                
          $sqlab .= " (name, email, homepage, text, datum) values ";
                
          $sqlab .= "('".$_POST['name']."', '".$_POST['email']."', '".$_POST['homepage']."', '".$_POST['text']."', '".$datum."')";

                
          mysql_db_query("$database_name"$sqlab) OR die(mysql_error());

                
          $num mysql_affected_rows();
                
                if (
          $num 0) {
                  echo 
          "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">";
                }

                
          mysql_close($db);

                }
          ?>
          Nach Deiner Erklärung ist das doch nun auch richtig.

          Oder habe ich es doch falsch verstanden?

          Gruß, piumer

          Kommentar


          • #6
            Re: E_ALL

            Original geschrieben von piumer
            Notice: mysql_db_query is deprecated; use mysql_select_db() and mysql_query() instead in C:\FoxServ\www\Gaestebuch\index.php on line 8

            Was bedeutet das?
            ist es so schwer, ein paar englische worte mal selber zu übersetzen?

            mysql_db_query ist veraltet und sollte deshalb nicht mehr verwendet werden, benutze mysql_select_db() und mysql_query() stattdessen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              nee, is nicht schwer

              ...........wollte mir lieber nochmal sicher gehen! Thx @ wahsaga!

              Habe jetzt mein eigenes Gästebuch gescriptet. Is ja nicht schwer, und bei den Sachen die ich selbst mache, die funzen auch. Jedenfalls spätestens dann, wenn ich euch mit Fragen durchlöchert habe

              Also, habt vielen Dank

              Gruß piumer

              Kommentar

              Lädt...
              X