我编写了一个代码来从另一个域访问WordPress数据库表,我正在使用以下代码使用数据库中现有的密码来验证登录密码。
密码保存在我的数据库中
$2y$10$.n.qnlokr7g0fpI.k/GSvuiRBcxXfKQ6DQ6Oo97rlhtGDs3M3BcP.
我的代码是
public function doLogin($uname,$upass)
{
try
{
$stmt = $this->conn->prepare("SELECT ID, user_login, user_pass FROM wp_users WHERE user_login=:uname");
$stmt->execute(array(':uname'=>$uname));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() == 1)
{
$options = array(
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
'cost' => 12,
);
echo $upass;
echo '<br>';
echo $hash_password= password_hash($upass, PASSWORD_BCRYPT); //Password encryption
echo '<br>';
echo $userRow['user_pass'];
if(password_verify($hash_password, $userRow['user_pass']))
{
echo 'Password Matches';
$_SESSION['user_session'] = $userRow['ID'];
return true;
}
else
{
// Invalid credentials
echo 'Password Mismatch';
return false;
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
每次单击“登录”时,我都会得到不同的哈希键。
但是我收到的消息是“ 密码不匹配”,
请提出解决方案。