Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 唯一电子邮件地址验证_Php_Forms_Codeigniter_Validation_Email - Fatal编程技术网

Php 唯一电子邮件地址验证

Php 唯一电子邮件地址验证,php,forms,codeigniter,validation,email,Php,Forms,Codeigniter,Validation,Email,我一直在修改从教程和其他帖子中看到的独特的电子邮件验证代码。然而,对于我的代码来说,似乎没有什么是完美的 public function register_client($post_obj) { //client registration $record = array ( 'first_name' => $post_obj['c_fname'], 'last_name' => $post_obj

我一直在修改从教程和其他帖子中看到的独特的电子邮件验证代码。然而,对于我的代码来说,似乎没有什么是完美的

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.");
}

我已经评论了几行,因为它们无论如何都不起作用。我检查了我的系统/库/表单验证,似乎设置正确

为什么不照文档上说的做:is_unique[users.email],其中users是表,email是您要检查的字段


这似乎是可行的,因为每当我输入相同的email add进行测试时,email add字段都会以黄色突出显示。但是没有显示任何消息,而且表单仍然提交..哦,我知道了。我做到了:$this->form_validation->set_rules'c_eadd','Email Address','required | trim | xss_clean | valid|u Email | is|u unique[client.Email| Address];如果$this->form_validation->run==FALSE{echo'警报,则您输入的电子邮件地址已被占用。请输入其他地址。;“;$this->load->view'client_signup”;}其他{$this->in_model->register_client$\u POST;但是,我想在输入相同的电子邮件地址后立即通知用户。在我可以做的解决方案中,它仍然会一直运行到最后一个字段。。
$this->form_validation->set_rules('c_eadd', 
    'Email Address',
    'required|trim|xss_clean|valid_email|is_unique[users.email]');