我的控制器上有这个代码(codeigniter)
这是我的 login
方法
function login()
{
$post = $this->input->post();
echo $post['pass_user'];
if(!empty($post))
{
$this->db->where('name_user',$post['name_user']);
$data = $this->db->get('tb_user')->result_array();
if(empty($data))
{
echo "Tidak ada username";
}
else
{
if(password_verify($post['pass_user'] , $data['pass_user']))
{
$this->session->set_userdata($data['name_user'], $data['lvl_user']);
echo "password same";
}
else
{
echo "password not same";
}
}
}
else
{
$this->load->view('login');
}
}
我有价值 $2y$10$uutShFadO9zEvLMLiHIwcem5hMeFHIG9UQtXeCtKs8ClVJGWZgwSy
为了我的 pass_user
在我的数据库里。
但结果我得到'密码不一样'。如何解决这个问题?
1条答案
按热度按时间rt4zxlrg1#
希望这对你有帮助
您正在使用此函数返回多维数据
result_array();
你必须把它和钥匙一起用password_verify
像这样的方法$data[0]['pass_user']
,如果只有一行,这将起作用,因此最好使用row_array();
替换这行代码用这个
整个代码