Aloha ;)
Wie kommt dieser Fehler zustande? Hat da jemand eine Idee? Hängt das eventuell mit der Session zusammen?
Ich habe mal den betreffenden Teil des Quellcodes kopiert, damit man daran weiteranalysieren kann:
if (crypt($_POST['f']['password'], $row['password']) == $row['password']) {
session_start();
$_SESSION = array(
'login' => true,
'user' => array(
'username' => $row['username']
)
);
$message['success'] = 'Anmeldung erfolgreich, <a href="index.php">weiter zum Inhalt.';
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/index.php');
} else {
$message['error'] = 'Das Kennwort ist nicht korrekt.';
}
Meiner Meinung nach bedeutet das, dass Folgendes in deiner Situation eben nicht gilt:
crypt($_POST['f']['password'], $row['password']) == $row['password']
Lass dir doch mal die betreffenden Variableninhalte ausgeben. Mir kommt die crypt-Funktion hier auch irgendwie spanisch vor (warum sollte $row['password']
als salt verwendet werden?!?), genauso wie ich den Absatz über die Schlüssel in "Registrieren eines neuen Benutzers" für inhaltlich fragwürdig halte. Es gilt halt eben der disclaimer
Artikel in Benutzernamensräumen sind möglicherweise nicht mehr aktuell oder gar fehlerhaft.
...und da haben wir auch den Salat, im Skript zur Registrierung steht
$_POST['f']['password'] = crypt(
$_POST['f']['password'],
'$2a$10$' . $salt
);
Der Salt ist also beim Registrieren ein ganz anderer als beim Login. Der beim Login macht, wie gesagt, auch gar keinen Sinn.
Wenn du den Salt im Login-Vorgang durch den korrekten salt ersetzt, sollte alles funktionieren (sofern nicht weitere Fehler im Quellcode sind).
Ich kann dir nur empfehlen, dich stattdessen an den Artikel Loginsystem von @Jörg Reinholz zu halten; der ist deutlich aktueller und im Hauptnamensraum, d.h. er unterliegt (im Gegensatz zu Artikel-Skizzen im Benutzernamensraum) auch der Wartung durch die Community.
Grüße,
RIDER
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[