Ich glaub ich bin blond

MOD

Mitglied
Moin zusammen.

Ich sitze gerade an einer Anmeldemaske für ein Loginformular und habe folgendes Problem.
Mittlerweile hab ich mich auf die Eingabe von benutzer, passwort und email beschränkt, da nix funktioniert.

hier das Script:

PHP:
<HTML>
<HEAD>Anmeldung</HEAD>
<?

include 'dbconnect.inc.php';

if($cmd="eintrag"){
mysql_query ("INSERT INTO Benutzer (Benutzername,Passwort,Email) VALUES ('$Username','$Userpass','UserMail')");

}
?>
<BODY>
<h2>Login-Bereich</h2>
<FORM action="anmeldung.php" method="post">
Benutzername: <input type="text" name="Benutzername"><br>
Passwort: <input type="text" name="Passwort"><br>
Email: <input type="text" name="Email"><br>
<br>
<input type="submit" value="Eintragen"> <input type="reset" value="L&ouml;schen"><br>
<input type="hidden" name="cmd" value="eintrag">
</FORM>
</BODY>
</HTML>

Wenn ich auf den Submit-Button klicke, werden die Daten zwar abeschickt, kommen aber nicht in der Datenbank an.
Laut if-Schleife in der dbconnect ist die DB ausgewählt.

In der DB sind folgende Felder:
  • ID (BIGINT) (primary; auto_inc)
  • Username (VARCHAR) (unique)
  • Userpass (VARCHAR)
  • UserMail (VARCHAR) (unique)
  • Usersession (VARCHAR)

Das Loginscript funktioniert, wenn ich einen User direkt in die DB eintrage.


Wer kann mir helfen?
 
Das kann so nicht funktionieren:

Die Namen der Eingabefelder werden mit POST übergeben. Das bedeutet, wenn das Eingabefeld "Benutzername" heißt, dann heißt es nicht "Username", deine PHP-Variablen musst du also entsprechend umbennen (oder die Eingabefelder).

Außerdem werden POST-Variablen in neueren Versionen von PHP nicht mehr als globale Variablen angeboten. Sie stehen stattdessen im Array $HTTP_POST_VARS oder $_POST und du solltest darauf zugreifen:
PHP:
mysql_query("INSERT INTO Benutzer (Benutzername,Passwort,Email)
VALUES ('".$_POST["Benutzername"]."','".$_POST["Passwort"]."','".$_POST["Email"]."')");

Gruß
Falk
 
Zuletzt bearbeitet:
Zurück