簡體   English   中英

電子郵件已存在於數據庫Codeigniter中

[英]Email already exists in database Codeigniter

嘿:)因此,我正在嘗試檢查用戶是否已經使用其電子郵件地址注冊。 電子郵件是數據庫中的唯一字段。 我遇到的問題是當我檢查它時(如果表中存在該電子郵件,它將返回false並將一條消息發送給用戶),即使輸入的電子郵件不存在於num_rows()中,它也會始終返回false桌子;

我不知道帖子是否有問題,但是如果我注釋掉電子郵件部分並注冊,它將起作用,如果電子郵件重復,則會顯示1062錯誤。

模型功能checkEmail()

$email_address = $this->input->post('email');
    $this->db->where('email', $email_address);
    $result = $this->db->get('user');

    if($result->num_rows() > 0){
        /*
         * the email already exists
         * */
        return false;
    }

和控制器:

$checkEmail = $this->f_model->checkEmail();

    if(!$checkEmail){
        /*
         * if email exists
         * */
        $msg = '<font color=red>Email already registered.</font><br />';
        $this->register($msg);
    }
    else {

        $interest = $this->f_model->enter_register_details_01();
        if(!$interest) {

            $msg = '<font color=red>Password and Confirm Password do not match.</font><br />';
            $this->register($msg);
        }
        else {
            $data['msg'] = $msg;
            $this->load->view("registration_view_02", array('interest' => $interest,
                'message' => $data));
        }

    }

即使表為空,也會出現帶有“電子郵件已注冊”的消息

謝謝您幫忙。

checkEmail()函數中添加else語句

$email_address = $this->input->post('email');
$this->db->where('email', $email_address);
$result = $this->db->get('user');

if($result->num_rows() > 0){
    /*
     * the email already exists
     *
    */
    return false;
}else{
    return true;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM