Warum funktioniert password_verify nicht?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet
  1. Achte darauf, überall mit der selben Zeichenkodierung zu arbeiten. Auch bei der Verbindung zur Datenbank kannst du explizit vorgeben, mit welcher Zeichenkodierung gearbeitet werden soll (siehe mysqli::set_charset).
  2. Schau nach, ob die Datenbankspalte für den Passworthash die Mindestlänge von 72 Zeichen zulässt.
  3. Stelle sicher, dass das Passwort bei der Registrierung via password_hash zu einem Hash konvertiert und so dann auch unbearbeitet (Ausnahme: Konversion durch den Prepared Statement) in die Datenbank geschrieben wird.
  4. Lass dir zu Prüfzwecken die Zwischenergebnisse ausgeben ($user, $_POST['password'], $user['password']).

PS.: Die $password-Variable ist bei dir ungenutzt. Wieso du sie durch einen Filter ziehst, kann ich nicht nachvollziehen.