Php Codeigniter 3 password_verify()需要2个参数,1个给定
我一直在用CI创建登录系统 我有两个错误:-Php Codeigniter 3 password_verify()需要2个参数,1个给定,php,oop,codeigniter-3,password-hash,Php,Oop,Codeigniter 3,Password Hash,我一直在用CI创建登录系统 我有两个错误:- 错误1:password_verify()正好需要2个参数,1个给定的请有人告诉我缺少什么。我浏览了谷歌的多个论坛和页面,但似乎找不到合适的答案。请你们中的一位告诉我哪里可能会出错 控制器: public function auth() { $email = $this->input->post('email', TRUE); $password = password_verify($this->input->
错误1:password_verify()正好需要2个参数,1个给定的
请有人告诉我缺少什么。我浏览了谷歌的多个论坛和页面,但似乎找不到合适的答案。请你们中的一位告诉我哪里可能会出错 控制器:
public function auth()
{
$email = $this->input->post('email', TRUE);
$password = password_verify($this->input->post('password', TRUE));
$validate = $this->model('Loginmodel')->validate($email,$password);
if ($validate->num_rows() > 0)
{
$data = $validate->row_array();
$fname = $data['fname'];
$email = $data['email'];
$user_level = $data['user_level'];
$companyname = $data['companyname'];
$mobileno = $data['mobileno'];
$avatar = $data['avatar'];
$sesdata = array
型号:
class Loginmodel extends CI_Model
{
public function validate ($email, $password)
{
$this->db->where('email', $email);
$this->db->where('passwword', $password);
$result = $this->db->get('dealers');
}
}
您的问题在于这段代码: 密码验证($this->input->post('password',TRUE)) 它需要密码散列的第二个参数进行验证,所以您需要事先将其存储在数据库中的某个位置,并检索它以传递给用户 密码验证()
方法作为第二个参数。Btw,这真的是密码列的名称吗<代码>密码,带有2个w。@FunkFortyNiner我的错,这是一个打字错误。谢谢你的提醒。你发布的更多的是一个评论,IMHO。请不要在明显离题/糟糕的问题上发布答案!我只是想帮助这家伙。而且我没有足够的声誉来评论,哦,好吧。谢谢Fsoc,非常感谢。