Hilfe beim Versuch einer Registrierung

  • Ich habe in meiner Datei register.html folgendes Formular:

    PHP
    <form method="POST" action="register.php">
    
    
      <div><br>Username:<br><input type="Text" name="username" value="" size="" maxlength=""></div>
      <div><br>Passwort:<br><input type="Password" name="pw" value="" size="" maxlength=""></div>
      <div><br><br>
    <input type="Submit" name="" value="Jetzt registrieren!"></form></div>

    Ich möchte, nachdem geklärt wurde ob in beiden Feldern etwas eingegeben wurde, dass diese Daten in einer Datenbank namens db_registry in der Tabelle user gespeichert werden über einen INSERT INTO Befehl.

    Meine register.php sieht momentan so aus:

    Wenn ich nun auf der register.html in die beiden Felder Username und Passwort etwas eingebe werden diese Daten aber nicht in der Datenbank gespeichert, sondern ich bekomme die Meldung: Ihre Registrierung schlug fehl. , also das was ich bei

    PHP
    if ($result){
           echo 'Ihre Registrierung war erfolgreich.<br><br><a href= "index.php">zurueck zur Startseite</a>';
             }
       else {
           echo 'Ihre Registrierung schlug fehl.<br><br><a href= "register.html">zurueck zur Registrierung</a>';
             }

    als Fehlermeldung eingegeben habe, die mir ausgegeben werden soll, wenn eben die Registrierung nicht geklappt hat.

    Was muss ich denn im INSERT INTO - Befehl ändern, damit die Registrierung funktioniert? Oder liegt der Fehler vll woanders?
    Vielen Dank.

  • Probier mal ein $result = mysql_query($sql) OR die(mysql_error());
    Damit solltest du deinen Fehler entdecken.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Ich habe das OR die(mysql_error()) mit eingefügt und bekomme nun die Meldung:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


    Um ehrlich zu sein, hilft mir persönlich das nicht weiter zur Erkennung des Fehlers.

  • Die Zeile sagt dir, dass bei einem '' ein Fehler ist.

    SQL
    INSERT INTO user (ID, username, passwort, user_geloescht, letzter_login) VALUES (NULL, '$username', '$pw', '', ''


    Dir fehlt eine schließende Klammer am Ende des SQL-Befehls.

    SQL
    INSERT INTO user (ID, username, passwort, user_geloescht, letzter_login) VALUES (NULL, '$username', '$pw', '', '')

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • ID ist doch sicherlich ein auto_increment feld?
    Dann lass es aus dem insert befehl raus.

    ja es handelt sich um ein auto_increment feld, allerdings scheint das nicht das problem gewesen zu sein.


    Dir fehlt eine schließende Klammer am Ende des SQL-Befehls.


    SQL
    INSERT INTO user (ID, username, passwort, user_geloescht, letzter_login) VALUES (NULL, '$username', '$pw', '', '')

    Ich habe die fehlende Klammer hinzugefügt, und daraufhin war eine Registrierung erfolgreich, es kam die Meldung "Ihre Registrierung war erfolgreich" und die Daten wurden dort gespeichert, wo ich es wollte.

    Vielen Dank.