Я пытаюсь активировать нового пользователя при проверке электронной почты при создании новой учетной записи.
Это проблема воспламенителя кода, и я довольно новичок в этой среде.Я могу отправить подтверждение по электронной почте с созданной ссылкой + хэш-код пользователю.Когда пользователь щелкает ссылку подтверждения, он возвращает сообщение об успехе, но не обновляет значение базы данных с 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.