Eintragen von Benutzerdaten

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

  • Eintragen von Benutzerdaten

    Hallo ich habe ein Problem beim Eintragen von Benutzerdaten in eine SQL Tabelle.

    Jedes Mal erscheint eine Fehlermeldung:

    Fehleruplicate entry '' for key 3
    Das Formular (register.php) sieht so aus:

    <?
    session_start();
    ?>
    <form method="post" action="eintragen.php">
    <label>gewünschter Benutzername:</label><input name="username" type="text"><br>
    <label>gewünschtes Passwort: </label><input name="userpass" type="password" id="userpass"><br>
    <label>Mail:</label><input name="usermail" type="text"><br>
    <input name="login" type="submit" id="login" value="Register">
    </form>


    Was dann an folgende Datei (eintragen.php) geschickt wird:

    <?
    include("include.inc");

    //Daten auslesen
    $username = $_REQUEST ["username"];
    $userpass = $_REQUEST ["userpass"];
    $usermail = $_REQUEST ["mail"];

    //eine sql-Anweisung zusammenzimmern
    $sql="INSERT INTO users set UserName='".$username."',UserPass='".$userpass."',UserMail='".$usermail."'";

    $io=$db->executeUpdate($sql);
    ?>
    Kann mir jemand sagen, wo da der Fehler liegt?

  • #2
    Das entsprechende Feld ist als UNIQUE gekennzeichnet und du versuchst einen Wert einzutragen, der bereits vorhanden ist.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      PRIMARY : UserID
      UNIQUE: UserMail
      UNIQUE: UserName

      Die Tabelle war leer.

      Ich hab jetzt was geändert und jetzt erscheint der gleiche Fehler bei Key 2. Dafür wird jetzt immerhin das Passwort eingetragen. UserName Und Mail fehlen immer noch (sind leer)

      Wenn ich die Tabelle leere, kommt der Fehler trotzdem, es können also keine doppelten Daten sein.

      Kommentar


      • #4
        Dann mach jetzt bitte erst mal eine Kontrollausgabe deiner Query:
        PHP-Code:
        $sql="INSERT INTO ...";
        echo 
        $sql
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          INSERT INTO users set UserName='abc',UserPass=MD5('def'),UserMail=''

          Seltsam ist, dass Usermail nicht ausgelsen wird. Kanns Probleme mit @ geben? Von wegen Sonderzeichen oder so?

          Kommentar


          • #6
            Sorry Leute, ich habs gefunden. Einfacherer Tippfehler. Tut mir elifd, für euer Bemühen. Danke trotzdem!!!!

            Kommentar


            • #7
              Und wieder mal ... hättest du dein error_reporting vernünftig eingestellt, hätte PHP dich auch gleich darauf hingewiesen, dass kein Parameter namens mail übergeben wurde.
              Also mach das bitte (wie -> siehe Regeln), bevor du weitere Fragen stellst.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X