我正在尝试重定向到Codeigniter会话中存储电子邮件的用户的主页。 我使用 这是我的模型 p>
这是我的控制器 p>
我不知道逻辑出了什么问题 它每次重定向到相同的登录页面,我试图验证它,在会话中存储电子邮件并将其重定向到 password_hash($ this-> input-> post('password'),PASSWORD_DEFAULT)) code>来对密码进行哈希处理并且工作正常,但是当我尝试
password_verify时( ) code>它,它失败了。 p>
公共函数canLogin($ email,$ password){
$ this-> db-&gt ; where('email',$ email);
$ query = $ this-> db-> get($ this-> tableName);
$ row = $ query-> row(); \ n if($ row){
return password_verify($ password,$ row-> password);
}
else {
return false;
}
}
code> pre >
公共函数loginValidation(){
//在构造函数中加载的用户模型
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('错误','无效的用户名或密码');
//重定向('登录','刷新');
}
}
code> pre> \ n
profile / personal code>,任何人都可以指出我错过逻辑的地方吗? p>
DIV>
I'm trying to achieve a redirect to the home page of the user storing email in the session in Codeigniter. I have used password_hash($this->input->post('password'), PASSWORD_DEFAULT))
to hash the passwords and it works fine, but when I try to password_verify()
it, it fails.
Here is my Model
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;
}
}
and here is my Controller
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');
}
}
I don't know where the logic went wrong and it everytime redirects to the same login page, I am trying to authenticate it, store email in session and redirect it to profile/personal
, Can anyone point where I missed the logic?