Code: Select all
DB is 'users' field is password and it is a VARCHAR(512). id is autoinc and is mediumint(8) username is unique and VARCHAR(32) < /code>
Wenn das Original erstellt wird, verwende ich
$passwordhash = password_hash($postpass, PASSWORD_DEFAULT); $sql = "INSERT INTO
Code: Select all
( username, email, validated, password, etc ) VALUES ( '$postname', '$postemail', '$validateemailflag', '$passwordhash', 'etc' )";< /code>
Erstellt das Konto und ermöglicht es mir, mich mit dem Benutzernamen und dem Kennwort anzumelden.$passwordhash = password_hash($newpass, PASSWORD_DEFAULT); $sql = "UPDATE
Code: Select all
SET
Code: Select all
= '$passwordhash' WHERE
Code: Select all
= '$loggedin_user'";
Funktioniert einwandfrei. Jetzt komme ich in eine Einrichtung, um die Passwörter zu ändern, und ich verwende; < /p>
Code: Select all
$passwordhash = password_hash($password, PASSWORD_DEFAULT); $sql = "UPDATE
Code: Select all
SET
Code: Select all
= '$passwordhash' WHERE
Code: Select all
= '$id'";< /code> < /p>
Ein Beispiel ist;
UPDATE
Code: Select all
SET
Code: Select all
= '$2y$10$LMVq3s0VNdVlgFPEE5XBE.eFlgo47N2GpoEoojg40up6T8rrfPwuG' WHERE
Code: Select all
= '156'
Dies ändert den Datensatz nicht und gibt die betroffenen 0 Zeilen zurück. Ich habe die Update -Linie zu MyPhpadmin gebracht und sie direkt eingesetzt. Aktualisiert den Datensatz immer noch nicht.
Hier ist hier ein interessanter Teil. Wenn ich das Feld Passwort bearbeite. Ich kann jedes einzelne Zeichen entfernen und es aktualisiert die DB. Offensichtlich kann ich es nicht verwenden, da ich keine Ahnung habe, was das Passwort ist.
Jetzt eine letzte Wendung. Wenn ich einen Charakter bearbeite, funktioniert auch. So kann ich es in jedes andere ändern und es ist in Ordnung. Wenn es jedoch an sich selbst oder eine niedrigere Fallversion ändert, fällt es erneut fehl. < /P>
Ideen? Ich mag das Passwort eindeutig überhaupt und ich habe keine Ahnung, wie ich dies vorantreiben soll. Das Ändern des Kennworttextes behebt es, ist jedoch nicht nützlich. Ich bin verwirrt, warum der änderende Charakter funktioniert. Ich denke, ich denke, eine Art Schecksumme, aber das Ändern eines 'f' für ein 'f' funktioniert auch nicht. Löschen des 'F' oder das Ändern von "S" -Arlungen. Ich habe viele verschiedene Ersatzstoffe, Anzahl, Zeichen usw. ausprobiert. Alle funktionieren außer Fall Änderungen.