当我注册用户时,使用password_hash()将密码保存在mysql数据库中的表“ gebruiker”中“ wachtwoord”列中
当我检索密码并执行password_verify()时,当我100%确定密码匹配时,它总是返回false。
输出变量以检查密码哈希和密码本身是否正确
function getGebruiker($email, $wachtwoord)
{
// geef gebruiker-object met $email en $wachtwoord EN geactiveerd = 1
$this->db->where('email', $email);
$query = $this->db->get('gebruiker');
$gebruiker = $query->row();
// controleren of het wachtwoord overeenkomt
$hash = $gebruiker->wachtwoord;
if (password_verify($wachtwoord, $hash)) {
return 'Beer';
} else {
return null;
}
}
function insertGebruiker($voornaam, $naam, $email, $wachtwoord)
{
// voeg nieuwe gebruiker toe
$gebruiker = new stdClass();
$gebruiker->naam = $naam;
$gebruiker->voornaam = $voornaam;
$gebruiker->email = $email;
$gebruiker->wachtwoord = password_hash($wachtwoord, PASSWORD_DEFAULT);
$this->db->insert_id();
$this->db->insert('gebruiker', $gebruiker);
}
我用密码注册了用户,并将其插入数据库中。这可行。 当我尝试登录时,密码验证始终返回NULL。而不是字符串“啤酒”(这只是测试字符串)