Login ... md5 Probleme, Passwort würd nicht erkannt

Knuddel

Grünschnabel
Wollte jetzt nen Login machen, bloß irgendwie wenn ich das Passwort abfragen will sagt er mir immer das keiner Eingetragen ist... hab das so gemacht:

PHP:
<html>
<title>Login</title>
<body>

<form action = "index.php" name = "anmelde">
Nickname: <input type = "text" name = "nick">                   <br>
Passwort: <input type = "password" name = "pass">               <br>
<input type = "submit" name = "schicken" value = "Abschicken">
</form>

</body>
</html>

<?


$db = mysql_connect();

mysql_select_db("dbBenutzer");

if(!mysql_num_rows(mysql_query("select BenutzerID from tBenutzer where Passwort = '($pass)'")))
{
echo "Du bist nicht Eingetragen";
}
else
{
echo "Herzlich Willkommen $nick";
}

mysql_close($db);
?>

hab das Passwort md5 verschlüsselt in meine Datenbank rein geschrieben (das Passwort hab ich varchar(255) gemacht)... :-?
 
Ist das etwas der Original-Code?
Es fehlen hier nämlich die Login-Daten für den MySQL-Server! (bei mysql_connect())
Oder hast du das absichtlich gemacht, damit du das hier nicht postests?
 
Was wollt ihr denn immer von mir, meine DB hat kein Passwort oder ähnliches deswegen brauch ich das net angeben.

und ausserdem hab ich doch "$db = mysql_connect()" da stehen...
 
Sorry, aber das war schon der Zweite der das von mir irgenwie will das ich Passwort der DB angebe obwohl ich das nicht brauch, ich hätte das schon mit hingeschrieben, wenn es mit in den Quelli gehört, und ausserdem hatte das ja auch nix mit meinem problem zutun, und das hab ich mittler weile auch gelöst...

Also ich entschuldige mich nochmal für meinen Ton!
 
Ich verweise nur mal auf diesen Thread :rolleyes:

Du solltest dir vielleicht mal überlegen, ob an unseren Tipps was dran ist oder es einfach lassen.

Gruß,
matt
 
if(!mysql_num_rows(mysql_query("select BenutzerID from tBenutzer where Passwort = '($pass)'")))
Diese Zeile enthält zwei Fehler, plus ein weiterer in deinem Formular.
1) Der Fehler im Form-Tag. Da fehlt die Kennzeichnung der Methode mittels method= alternativ post oder get, die ausdrückt wie die Daten übergeben werden. Per HTTP-Header (POST) oder per URL (GET). Ich würde bei Login Geschichten, jedoch immer POST nehmen

nun die Fehler in der zitierten Zeile
1) Die übergebenen Werte sind AUF KEINEN FALL in $pass sondern in $_GET['pass'] oder $_POST['pass']. Wenn du nicht weisst, ob du get oder post verwendet hast dann benutze $_REQUEST['pass'] zum abfragen der übergebenen Werte

2) Du sagst, das Passwort ist in deiner DB als md5 Hash gespeichert. Jetzt vergleichst du deine Plaintext Eingabe aber mit einer Spalte, in der md5-Checksummen stehen. Irgendwie logisch, dass der da nix findet. Die Zeile müsste folgendermaßen lauten.
PHP:
if(!mysql_num_rows(mysql_query("select BenutzerID from tBenutzer where Passwort = '".md5($_REQUEST['pass'])."')))

Bitte beschäftige dich in Sachen PHP mal mit dem "Mysterium" register_globals=off seit PHP 4.2.0 und in Sachen Benutzung unseren Forums mit der Netiquette.

Danke im Vorraus ;-]
 
Zuletzt bearbeitet:
Zurück