在该论坛上提问之前,我试图检查代码中的错误在哪里。但是几个小时后,我为此感到非常生气。我想向我的项目添加密码哈希。不幸的是,我不知道怎么了。
public function loginUser(string $email,string $password){
$query = "SELECT id,name,surname,email,password,id_group
FROM users
WHERE email='".$email."'";
$result = $this->db->query($query);
if($result->num_rows == 1 ) {
$data = $result->fetch_assoc();
if(password_verify($password,$data['password'])){
$this->setSessionUser($data);
}
}
}
还有什么...:
public function setSessionUser(array $data){
$_SESSION['is_logged'] = true;
$_SESSION['id_user'] = $data['id'];
$_SESSION['name'] = $data['name'];
$_SESSION['surname'] = $data['surname'];
$_SESSION['email'] = $data['email'];
$_SESSION['id_group'] = $data['id_group'];
}
并生成哈希密码:
public function generateHashPassword(string $password){
$hashedPassword = password_hash($password,PASSWORD_BCRYPT,array('cost' => 12));
return $hashedPassword;
}
在那之后,总是返回false并且我无法登录到帐户。是的,我写了一个很好的密码。
var_dump($password,$data['password']) return a good data info.
@edit: 我检查了有关解决此问题的每个主题。没有人能帮助我。