我正在尝试在创建新帐户时验证电子邮件时激活新用户。
这是一个代码点火器问题,我对这个框架还很陌生。我能够将带有生成的链接+哈希码的确认电子邮件发送给用户。当用户单击确认链接时,它将返回一条成功消息,但不会从0 => 1更新数据库值,并且在用户尝试登录时触发错误。我使用了不同的方法,但似乎没有一个起作用,我想知道我错过了什么,或者为什么它没有更新数据库的价值。
这是我的控制器代码:
function verify() {
$cid = $this->db->get_where('client' , array('client_id' =>
$client_id))->row()->client_id;
$email = $this->db->get_where('client' , array('client_id' =>
$client_id))->row()->email;
$rhash = $this->db->get_where('client' , array('client_id' =>
$client_id))->row()->hash;
$result = array_merge($email,$rhash,$cid);
if($email['hash'] == $rhash){
$this->crud_model->verify_user($email);
$this->session->set_flashdata('create_success', "Email
Verification Success. <br> Login to your account now and
complete your profile.");
redirect(site_url('login'), 'refresh');
}
else{
$this->session->set_flashdata('create_error', 'Email
Verification Failed. <br> Please retry, or confirm your
confirmation link.');
redirect(site_url('login'), 'refresh');
}
}
我的模特:
function verify_user($email) {
$data = array('is_verified' => 1);
$this->db->where('email', $email);
$this->db->update('client', $data);
}
我已经使用了所有声明的变量,以防万一,但是我仍然无法将“ is_verified”更改为1。
答案 0 :(得分:0)
仅通过将模型修改为以下内容即可解决问题:
reduce()