Also, ich habe folgendes Problem (nebenbei: ich bin kein Profi, wie man vielleicht merken wird):
Ich möchte per Formular einen User in einer MySQL-Datenbank anlegen mit Namen und Paßwort. Das Paßwort soll erst auf Richtigkeit überprüft werden und dann erst erfolgt der Eintrag.
Mein Formular sieht etwa so aus -
<form action="admin_user_add.php" method="post">
<table align=center border=0 cellspacing=0 cellpadding=5 width=80%25>
<tr>
<td width=15%25>Name:</td><td><input name="name" type="text" value="" size="50" class="eingabe"></td>
</tr>
<tr>
<td width=15%25>Passwort:</td><td><input name="password" type="password" value="" size="50" class="eingabe"></td>
</tr>
<tr>
<td width=15%25>Passwort wiederholen:</td><td><input name="passwordconfirm" type="password" value="" size="50" class="eingabe"></td>
</tr>
<tr>
<td colspan=2 align=center><input type="submit" value="Absenden" class="eingabe"> « » <input type="reset" value="Reset" class="eingabe"></td>
</tr>
</table>
</form>
Es werden also an das Script die Variablen $name, $password und $passwordconfirm übergeben.
Das Script sieht an der entsprechenden Stelle so aus:
### Name eingetragen, Paßwort-Überprüfung ###
if(!$name || !$password || !$passwordconfirm || $password != $passwordconfirm)
{
echo ("Du hast keinen Namen oder kein Passwort eingetragen oder das erste Passwort stimmt nicht mit dem zweiten überein!");
}
else
{
### Namensüberprüfung ###
$read_user="SELECT name FROM mdb2_user WHERE name = %27$name%27";
$result = mysql_query($read_user);
$num=mysql_num_rows($result);
if($num)
{
echo ("Der Name ist schon vorhanden!");
}
else
{
### Paßwort verschlüsseln###
$password = md5($password);
### Daten werden in die Datenbank eingetragen ###
$add_user = "INSERT INTO mdb2_user VALUES(%27$name%27,%27$password%27)";
if($add_user_result=mysql_query($add_user))
{
echo ("Danke, der User wurde in die Datenbank eingetragen!");
}
else
{
echo mysql_error();
}
}
}
Das Problem ist nun: Selbst wenn ich einen Namen und beide Paßwortfelder ausfülle (mit gleichlautendem Paßwort), kommt die Meldung "Du hast keinen Namen oder kein Passwort eingetragen oder das erste Passwort stimmt nicht mit dem zweiten überein!" - ich finde den Aufbau der Scriptüberprüfung, ob die Paßwörter übereinstimmen, eigentlich logisch, aber dennoch muß dort ja ein Fehler sein. Kann mir jemand helfen?
Warum ich es in dieses Forum schreibe und nicht eine PHP-Gemeinde frage? Die Antworten dort sind mir meist zu fachmännisch, selbst wenn ich darauf hinweise, kein Profi zu sein - hier erhoffe ich mir eine verständlichere Antwort
Danke schon einmal im voraus!
*Es grüßt* Abalone