登録:
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
$query = "INSERT INTO users(username,email,password) VALUES('" . $username . "','" . $email . "','" . $hashed_password . "')";
mysql_query($query);
検証:
$query = "SELECT id,username,password FROM users WHERE email='" . $email . "'";
$row = mysql_fetch_assoc(mysql_query($query));
if (password_verify($password, $row["password"])) {
私が使用したすぐに廃止予定のメソッドは無視してください。すぐに変更します。
なぜこれが機能しないのですか?ユーザー名のパスワードが間違っていると検出されます。
このライブラリを使用して、以前のバージョンで PHP 5.5 関数を許可しています: https://github.com/ircmaxell/password_compat
(はい、その関数を使用できます。私は PHP 5.3.15 を使用しています)