Я пытаюсь добиться перенаправления на домашнюю страницу пользователя, хранящего электронную почту в сеансе в Codeigniter. Я использовал password_hash($this->input->post('password'), PASSWORD_DEFAULT))
для хеширования паролей, и он отлично работает, но когда я пытаюсь password_verify()
, это не удается.
Вот моя модель
public function canLogin($email, $password) {
$this->db->where('email',$email);
$query = $this->db->get($this->tableName);
$row = $query->row();
if ($row) {
return password_verify($password, $row->password);
}
else {
return false;
}
}
и вот мой контроллер
public function loginValidation() {
// User Model Loaded in constructor
if ($this->user->canLogin($_POST['email'], $_POST['password'])) {
$session_data = array('email' => $_POST['email'] );
$this->session->set_userdata($session_data);
redirect('profile/personal','Refresh');
} else {
echo 'fail';
$this->session->set_flashdata('error', 'Invalid Username or Password');
// redirect('login','Refresh');
}
}
Я не знаю, где логика пошла не так, и она каждый раз перенаправляет на одну и ту же страницу входа, я пытаюсь аутентифицировать ее, сохранять электронную почту в сеансе и перенаправлять ее на profile/personal
, Может кто-нибудь указать, где я пропустил логику