[PHP] Per Formular Daten an MYSQL schicken

dr-chiller

Cadet 4th Year
Registriert
Okt. 2004
Beiträge
98
Hi,

wie mein Topic schon sagt habe ich versuchht eine Art registrierung zu schreiben das will aber nicht gehen. Hier mein Script.

PHP:
//das ist die "register.php"
<?
 
 mysql_connect("localhost","root","") or die
  ("Keine Verbindung moeglich");
  mysql_select_db("meine-datenbank") or die
  ("Die Datenbank existiert nicht");

 
  $pw = $HTTP_POST_VARS["pw"];
  $nachname = $HTTP_POST_VARS["nachname"];
  $vorname = $HTTP_POST_VARS["vorname"];
  $geburtsdatum = $HTTP_POST_VARS["geburtsdatum"];
  $email  = $HTTP_POST_VARS["email"];
  $hobby  = $HTTP_POST_VARS["hobby"];
  $motto   = $HTTP_POST_VARS["motto"];
  $icq   = $HTTP_POST_VARS["icq"];
  
  

  $eintrag = "INSERT INTO daten (pw, nachname, vorname,
  geburtsdatum, email, hobby, motto, icq) VALUES ('$pw', '$nachname',
  '$vorname', '$geburtsdatum','$hobby','$motto','$icq')";


  $eintragen = mysql_query($eintrag);
  
  
?>

und das ist das formular

HTML:
<form method="post" action="register.php" name="eintragen">
<br>
Vorname: <input type="Text" name="vorname" value="" size="40" maxlength="100"><br>
<br>
Nachname: <input type="Text" name="nachname" value="" size="40" maxlength="100"><br>
<br>
Geburtsdatum: <input type="Text" name="geburtsdatum" value="" size="40" maxlength="100"><br>
<br>
Hobby: <input type="Text" name="hobby" value="" size="40" maxlength="100"><br>
<br>
E-Mail Adresse: <input type="Text" name="email" value="" size="40" maxlength="100"><br>
<br>
ICQ-Nummer: <input type="Text" name="icq" value="" size="40" maxlength="100"><br>
<br>
Hobbys: <input type="Text" name="hobby" value="" size="40" maxlength="100"><br>
<br>
Motto: <input type="Text" name="motto" value="" size="40" maxlength="100"><br>
<br>
1. Leistungskurs: <input type="Text" name="1_leistungskurs" value="" size="40" maxlength="200"><br>
<br>
2. Leistungskurs: <input type="Text" name="2_leistungskurs" value="" size="40" maxlength="200"><br>
<br>
Passwort: <input type="password" name="pw" value="" size="40" maxlength="200"><br>


input type="Submit" name="eintragen" value="Abschicken"></div><br>
</form>

So, dass ist es eigentlich, was noch dazu zu sagen ist, dass der neue Schüler noch ne ID brauch, die wird aber eigentlich automatisch vergeben, habe das so in die Datenbank geschrieben

`id` int(11) NOT NULL auto_increment,

ein weiteres problem ist, dass das Passwort eigentlich md5 hash haben sollte. Das krieg ich aber nicht hin. Und das geburtsdatum ist als DATETIME eingetragen in der Tabelle, kann man das auch berücksichtigen ?

Hat jemand vielleicht ne Lösung ?

Danke im vorraus.
 
Zuletzt bearbeitet von einem Moderator: ([html] statt [code])
Was genau geht den nicht? Fehlermeldung?

So im shcnellen drüberlesen viel mir kein Fehler auf...
 
ne keine Fehlermeldung, nur wenn ich nachher in der Datenbank nachgucke ist kein neuer Eintrag vorhanden.
 
Wie ich sehe hast du keinen MD5 Funktion verwendet? md5(); Verwende anstatt $HTTP_POST_VARS["variable"] mal $_POST["variable"]
 
Fürs MD5 empfehle ich:
PHP:
  $eintrag = "INSERT INTO daten (pw, nachname, vorname,
  geburtsdatum, email, hobby, motto, icq) VALUES (MD5('$pw'), '$nachname',
  '$vorname', '$geburtsdatum','$hobby','$motto','$icq')";
Der Eintrag sollte eigentlich erfolgreich sein, einen Fehler sehe ich auch nicht.
Ansonsten versuch das Statement mit echo auszugeben und mit phpMyAdmin oder etwas ähnlichem direkt der Datenbank zu servieren.

Viel Erfolg
 
Gib mal das Statement an womit du die DB-Table erzeugt hast oder mach mal ein "describe daten"
Lass dir $eintragen ausgeben und guck obs funktioniert wenn du es in die SQL-Console pastest.
 
Zurück
Oben