Hallo Camping_RIDER,
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?!?),
Weil das Salt als Prefix an das Ergebnis der Crypt-Funktion vorangestellt wird. Aus crypt("ab", "cd")
wird also "cd<cryptwert>"
. Siehe auch das Manual.
...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.
Nein.
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.
Ja.
LG,
CK