Hallo!
Habe mir das Login Script von http://www.heddesheimer.de/blog/index.php/2006/01/29/login_seite_in_php_programmieren heruntergeladen.
Standardgemäß wird sich bei diesem Script folgendermaßen, ohne Abfrage der Benutzerdaten aus einer Datenbank, eingeloggt:
Da ich meine User jedoch in einer Datenbank angelegt habe, habe ich das Ganze verändert:
Nun mein Problem: Wenn ich mehr als einen User in meiner Datenbank anlege (natürlich mit md5 Passwörtern), kann ich mich immer nur mit dem User einloggen, den ich als erstes angelegt habe. Richte ich weitere Benutzer ein, kann ich mich mit diesen nicht einloggen. Was könnte das sein? Warum funktioniert nur der erste User den ich angelegt habe?
Viele Grüße
Tom
Habe mir das Login Script von http://www.heddesheimer.de/blog/index.php/2006/01/29/login_seite_in_php_programmieren heruntergeladen.
Standardgemäß wird sich bei diesem Script folgendermaßen, ohne Abfrage der Benutzerdaten aus einer Datenbank, eingeloggt:
PHP:
function login_formular()
{
?>
<form action="<?php echo $GLOBALS['PHP_SELF'] ?>" method="POST">
Username: <input type="text" name="username"><br>
Passwort: <input type="password" name="password"><br>
<input type="submit" name="login" value="Anmelden">
</form>
<?php
}
function check_login($user, $pass)
{
if ( ($user == "admin") and ($pass == "geheim") )
{
return true;
} else {
return false;
}
}
Da ich meine User jedoch in einer Datenbank angelegt habe, habe ich das Ganze verändert:
PHP:
function login_formular()
{
?>
<form action="<?php echo $GLOBALS['PHP_SELF'] ?>" method="POST">
Username: <input type="text" name="username"><br>
Passwort: <input type="password" name="password"><br>
<input type="submit" name="login" value="Anmelden">
</form>
<?php
}
// Die Funktion check_login prüft Benutzername und Passwort.
// Diese Funktion könnte man später mit weiteren Zugangsdaten
// erweitern. Am Besten wäre es, die Zugangsdaten aus
// einer Datenbank zu holen, da man hier die Benutzer
// flexibel verwalten kann, ohne jedes Mal den Code
// zu ändern.
function check_login($user, $pass)
{
$sqlbefehl = "SELECT * FROM ll_user";
$ergebnis = mysql_query($sqlbefehl);
$daten = mysql_fetch_array($ergebnis);
if ( $user == $daten['username'] and md5($pass) == $daten['password'] )
{
return true;
} else {
return false;
}
}
Nun mein Problem: Wenn ich mehr als einen User in meiner Datenbank anlege (natürlich mit md5 Passwörtern), kann ich mich immer nur mit dem User einloggen, den ich als erstes angelegt habe. Richte ich weitere Benutzer ein, kann ich mich mit diesen nicht einloggen. Was könnte das sein? Warum funktioniert nur der erste User den ich angelegt habe?
Viele Grüße
Tom