2 Einträge in MySQL-DB? Warum nur??

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

  • 2 Einträge in MySQL-DB? Warum nur??

    Hallo Leute,

    ich brauche mal wieder eure Hilfe und zwar habe ich folgendes Problem:
    Wenn ich über mein PHP-Script eine (!!!) Eintragung in meine MySQL-Tabelle
    machen will, fügt es einen weiteren (leeren!) Datensatz hinzu!
    Das hatte ich noch nie!?

    Hier ein mein Script:
    PHP-Code:
    <form id="FormAddServer" action="index.php?seite=addserver&option=do_addserver" 
    method="post" name="FormAddServer">
    //Der Formularcode...
    </form>

    //...später im Script:

    if ($_GET["option"] == "do_addserver")
    {
    $typ $_POST["typ"];
    $name $_POST["name"];
    $ip $_POST["ip"];
    mysql_query("INSERT INTO server (id, typ, name, ip) VALUES (NULL, '$typ', '$name', '$ip')");
    echo 
    "<p align=center><span class=text>
    Der Server wurde erfolgreich der Datenbank hinzugefügt!
    </span></p>"
    ;

    Das funktioniert auch alles wunderbar, auch die Daten werden korrekt und vollständig
    in die DB eingetragen, aber warum nur wird ein 2. leerer Datensatz hinzugefügt???

    MfG
    Bobbie

  • #2
    möglicherweise wird das skript zweimal vom browser aufgerufen. Das Skript selber macht mit Sicherheit nur einen INSERT.

    Firefox macht einen zweiten Aufruf um das icon zu holen, wenn das irgendwie auf deine index.php fällt?

    Du kannst mal anstatt == ein === schreiben, dann funktioniert der Test auf 'do_addserver' ganz sicher.

    Mehr kommt mir im Moment nicht in den Sinn.

    Kommentar


    • #3
      also erstmal danke für deine Antwort nix_wie_weg, aber das mit dem "===" hat leider auch nicht geklappt
      bzw. wird immernoch ein 2. leerer Datensatz erzeugt (was bezweckt dieses "===" eigentlich - hab auch anhieb nichts dazu gefunden...)


      Aber könntest du mir nochmal erklären, was du damit meinst, dass es
      "irgendwie auf meine index.php fällt"?
      Weil nachdem ich das Script ohne include in die index.php aufgerufen habe,
      funktioniert es einwandfrei

      Das komische ist halt, dass ich es auch sonst alles genauso mache und es auch ordnungsgemäß funktioniert!
      Sprich, ich habe jetzt keine Ahnung warum es nach dem includen nicht mehr funktionier!?

      MfG
      Bobbie

      Kommentar


      • #4
        zu deiner frage bzgl. ===

        == testet ob die werte gleich sind, berücksichtigt dabei aber nicht den datentyp, so ist z.B. 0 == false eine wahre Aussage, da die 0 sowohl als 0 (Zahl) aber auch als boolscher Wert (false) interpretiert werden kann. 0 === false wäre aber falsch, weil 0 eine Zahl ist. Probiers mal aus
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          Ah vielen Dank Shurakai
          gut zu wissen

          Kommentar

          Lädt...
          X