我有一个项目,我正在根据用户在我站点中的角色进行登录。我正在使用代码点火器3,xampp,bootstrap4和vs代码进行编辑。我遇到的问题是在创建管理页面并创建2个具有不同用户角色的用户之后,该代码只能从表中提取一行。我在数据库中有2行,如果我使用冷杉登录,则不管角色是什么(在数据库中手动更改几次)都是可以的。但是每次我尝试使用第二行数据登录时,代码始终会显示密码不正确(使用if进行检查,因此我总是被抛出else场景)。但是,如果我删除了第一行,并尝试再次使用第二行(现在是第一行)登录,则会登录。如果创建另一个第二行并尝试使用新数据登录,则代码再次显示我的密码不正确。有人可以帮助我确定问题吗?
private function _login()
{
//rules
$email = $this->input->post('email');
$password = $this->input->post('password');
//get user data in a row from DB
$user = $this->db->get_where('user', ['email => $email'])->row_array();
if ($user) {
if ($user['is_active'] == 1) {
if (password_verify($password, $user['password'])) {
$data = [
'email' => $user['email'],
'role_id' => $user['role_id']
];
$this->session->set_userdata($data);
if ($user['role_id'] == 1) {
redirect('admin');
} else {
redirect('user');
}
} else {
$this->session->set_flashdata('message', '<div class="alert alert-danger" role="alert">Password incorrect</div>');
redirect('auth');
}
} else {
$this->session->set_flashdata('message', '<div class="alert alert-danger" role="alert">email not activated</div>');
redirect('auth');
}
} else {
$this->session->set_flashdata('message', '<div class="alert alert-danger" role="alert">Email is not registered</div>');
redirect('auth');
}
}