Ich habe mir hier ein ganz einfaches Login-Script mit MySQL geschrieben.
Das Registrieren funktioniert wunderbar, aber beim einloggen gibt es immer eine Fehlermeldung.(Benutzername und/oder Passwort waren falsch, s. u.)
login.php:
register.php:
Ich vermute, es liegt an der email, die Eingetragen, aber nicht abgerufen wird.
Und bitte keine Antworten von wegen "md5 ist unsicher" oder "die email wurde nicht verifiziert". Ich bin mir einer Menge Sicherheitsmängel bewusst.
Vielen Dank schon im vorraus,
F_2801
Das Registrieren funktioniert wunderbar, aber beim einloggen gibt es immer eine Fehlermeldung.(Benutzername und/oder Passwort waren falsch, s. u.)
login.php:
PHP-Code:
<?php
session_start();
?>
<?php
$verbindung = mysql_connect("host", "user********" , "************")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("dbmain") or die ("Datenbank konnte nicht ausgewählt werden");
$username = $_POST["username"];
$passwort = md5($_POST["password"]);
$abfrage = "SELECT username, password, email FROM login4 WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->passwort == $passwort)
{
$_SESSION["username"] = $username;
echo "Login erfolgreich. <br> <a href=\"insite.php\">Geschützer Bereich</a>";
}
else
{
echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.html\">Login</a>";
}
?>
PHP-Code:
<?php
$verbindung = mysql_connect("host", "user********" , "**************")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("dbmain") or die ("Datenbank konnte nicht ausgewählt werden");
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];
$email = $_POST['email'];
if($passwort != $passwort2 OR $username == "" OR $passwort == "" OR $email == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>";
exit;
}
$passwort = md5($passwort);
$result = mysql_query("SELECT id FROM login4 WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO login4 (username, password, email) VALUES ('$username', '$passwort', '$email')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Benutzername <b>$username</b> wurde erstellt. <a href=\"index.html\">Login</a>";
}
else
{
echo "Fehler beim Speichern des Benutzernames. <a href=\"register.html\">Zurück</a>";
}
}
else
{
echo "Benutzername schon vorhanden. <a href=\"register.html\">Zurück</a>";
}
?>
Und bitte keine Antworten von wegen "md5 ist unsicher" oder "die email wurde nicht verifiziert". Ich bin mir einer Menge Sicherheitsmängel bewusst.
Vielen Dank schon im vorraus,
F_2801
Kommentar