Я адаптировал уникальные коды проверки подлинности электронной почты, которые я видел из учебника и других сообщений. Однако для моего кода ничего не работает.Уникальная проверка адреса электронной почты
public function register_client($post_obj)
{
//client registration
$record = array
(
'first_name' => $post_obj['c_fname'],
'last_name' => $post_obj['c_lname'],
'email_address' => $post_obj['c_eadd'],
'password' => $post_obj['c_pword'],
'address' => $post_obj['c_add'],
'tagline' => $post_obj['c_tagline'],
'profile' => $post_obj['c_profile'],
'interests' => $post_obj['c_interest'],
'billing_mode' => $post_obj['c_bmode']
);
$this->db->insert('client', $record);
}
в мой контроллер у меня есть это:
public function client_signup_submit()
{
// completes client registration
/*$post_email = $this->input->post('c_eadd');
$this->form_validation->set_rules('c_eadd', 'Email Address', 'required|trim|xss_clean|valid_email|callback_check_duplicate_email[' . $post_email . ']');
$this->form_validation->set_message('check_duplicate_email', 'This email already exits. Please write a new email.');
if ($this->form_validation->run() == FALSE) {
// validation failed then do that
$this->load->view('client_signup');
} else */
//$this->form_validation->set_rules('c_eadd',Email,'trim|xss_clean|required|valid_email|callback_check_email_exists');
$this->inspire_model->register_client($_POST);
redirect("in/client?message=Client Account Registration Completed.");
}
Я заметил несколько строк, поскольку они не работают в любом случае. Я проверил свою систему/библиотеки/form_validation, и кажется, что он правильно установлен.
Это похоже на работу, потому что всякий раз, когда я печатаю то же электронное письмо для тестирования, поле добавления электронной почты выделяется желтым цветом. Но сообщение не отображается, а также форма сохраняется. – user3453256
О, я понял. Я сделал: $ this-> form_validation-> set_rules ('c_eadd', 'Email Address', 'required | trim | xss_clean | valid_email | is_unique [client.email_address]'); \t \t \t \t \t \t если ($ this-> form_validation-> Run() == FALSE) \t \t \t { \t \t эхо «<сценарий языка = "JavaScript"> Alert (" Введенный адрес электронной почты уже принято. Пожалуйста, введите другой вариант. "); '; \t \t $ this-> load-> view ('client_signup'); \t \t \t} еще {\t \t \t $ this-> in_model-> register_client ($ _ POST); Однако я хотел предупредить пользователя сразу после ввода того же адреса электронной почты. В решении, которое я мог бы сделать, он все равно продолжается до последнего поля. – user3453256