我得到了错误:
Fatal error: Uncaught Error: Call to a member function LogInValidatePassword() on array in C:\xampp\htdocs\ProjectSouls\log-in.php:34
但是不幸的是我找不到代码的问题。
第34行,调用对象LogInValidatePassword
的方法user
。在这种方法中,我使用password-verify($password, $hashed)
。我通过$ _POST和数据库条目的Hash传递了密码,它们从数组$fetched
中获取。
//log-in.php
$post_userpass = filter_input(INPUT_POST,"user_name",FILTER_SANITIZE_SPECIAL_CHARS);
$fetched = $statement->fetch(PDO::FETCH_ASSOC);
/*Line 34->*/ if($user->LogInValidatePassword($post_userpass,$fetched['user_pass'])){
$user->LogIn($fetched);
}else{
$user->ShowErrorResponse();
}
//user.class.php
public function LogInValidatePassword($password, $hashed){
if(!password_verify($password ,$hashed)){
$this->errors[] = "Sie haben ein falsches Passwort eingegeben.";
return false;
}else{
return true;
}
}
由于我没有使用整个数组,而只是使用单个值,所以我不知道问题可能出在哪里。
//我浏览了类似的帖子,但没有找到任何相关的解决方案。
谢谢。