Ich habe in meiner Datei register.html folgendes Formular:
<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:
<?php
$_db_host = "localhost";
$_db_datenbank = "db_registry";
$_db_username = "root";
$_db_passwort = "";
SESSION_START();
if (!isset($_POST['username'], $_POST['pw'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $username = trim($_POST['username'])) or
('' == $pw = trim($_POST['pw'])))
{
die ('Bitte füllen sie das Formular vollständig aus. <br><br><a href= "register.html">zurueck zur Registrierung</a>');
}
$link = mysql_connect ($_db_host, $_db_username, $_db_passwort);
if (!$link)
{
die("Keine Datenbankverbindung möglich: " . mysql_error());
}
$datenbank = mysql_select_db($_db_datenbank, $link);
if (!$datenbank)
{
echo "Kann die Datenbank nicht benutzen: " . mysql_error();
mysql_close($link);
exit;
}
mysql_select_db($_db_datenbank) or die ("Datenbank existiert nicht");
$sql = ("INSERT INTO user (ID, username, passwort, user_geloescht, letzter_login) VALUES (NULL, '$username', '$pw', '', ''");
$result = mysql_query($sql);
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>';
}
mysql_close($link);
?>
Alles anzeigen
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
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.