【发布时间】:2018-06-25 03:47:39
【问题描述】:
所以我在尝试使用数据库中存储的密码登录用户时遇到问题:
我目前有这个用于我的登录功能和模型:
控制器:
$username = $this->input->post('username');
$password = $this->input->post('password');
$enc_password = password_hash($password, PASSWORD_DEFAULT);
$data_user = $this->User_model->login($username, $enc_password);
型号:
public function login($username, $enc_password)
{
$this->db->where('username', $username);
$this->db->where("password", $enc_password);
$this->db->where("password2", $enc_password);
$query = $this->db->get($this->table);
$hashed_password = $enc_password;
if (password_verify($hashed_password, $hashed_password)) {
return $query->row();
} else {
return false;
}
}
谁能告诉我我的错误在哪里?我试图在输入的密码与创建相同的“密码”和“密码2”匹配后登录用户(在注册函数中;相同的密码哈希)但由于某种原因,即使在我输入了正确的密码。 :/
提前致谢。
【问题讨论】:
-
先根据用户名取行,再用取到的密码行与提交的输入密码进行校验比较
标签: php codeigniter-3 password-protection password-encryption password-hash