2016-10-28 78 views
0

我使用下面的代碼來驗證我的登記表:密碼匹配的笨

$this->form_validation->set_rules('password', 'Password', 'trim|required|matches[cpassword]|md5'); 
    $this->form_validation->set_rules('cpassword', 'Confirm Password', 'trim|required'); 

但是當我瀏覽我的形式,它爲我的錯誤密碼不匹配。 codeigniter form result

+0

嘗試刪除「| MD5」 –

+1

我會用這個http://php.net/manual/en/function.password-hash.php的散列密碼,然後創建一個回調密碼驗證http://php.net/manual/en/function.password-verify.php **不要使用MD5的密碼** – user4419336

+0

但如果我想輸入密碼作爲哈希碼到我的數據庫,然後該怎麼辦? –

回答

1

控制器不適用於數據庫。所以,請改變你的代碼如下:

$this->form_validation->set_rules('password', 'Password', 'trim|required'); 
$this->form_validation->set_rules('cpassword', 'Confirm Password', 'trim|required|matches[password]'); 

如果你想要把它作爲哈希到數據庫中,你應該使用模式。下面是一個例子代碼:

public function signup() { 
    $password = $this->input->post('password', true); 

    $hash = password_hash($password, PASSWORD_BCRYPT); // put $hash variable into your database 
    ... 
    }