2016-03-29 17 views
0

Hey :) Bu yüzden bir kullanıcının e-posta adresleriyle kayıtlı olup olmadığını kontrol etmeye çalışıyorum. E-posta, veritabanındaki benzersiz bir alandır. Sorun şu ki, kontrol ettiğimde (tabloda e-posta mevcutsa, false dönecek ve kullanıcıya mesaj gönderilecek) num_rows(), girilen e-posta, masa;E-posta adresi zaten veritabanında bulunmaktadır Codeigniter

Yayında bir sorun olup olmadığını bilmiyorum, ancak e-posta bölümünü ve kayıt defterini açıklarsam çalışır ve e-posta yinelenirse 1062 hatası görüntülenir.

modeli işlev 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; 
    } 

ve denetleyici: tablosu boş

$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)); 
     } 

    } 

bile, "zaten kayıtlı e-postası" ile mesaj için

Tanklarının görünür yardımın. checkEmail() işlevinde

+2

eklemek? – Veniamin

+1

Eğer 'else return true' –

+1

koşulundan sonra checkEmail() işlevini kontrol etmek için bu satırı ekleyin, denetleyicide 'var_dump ($ checkEmail) 'i deneyin ve kontrol sonuçları için bakın, belki de – Veniamin

cevap

1

Eğer emailCheck fonksiyonu x NUM_ROWS eğer <= 0 dönmek Ne 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; 
    } 
+0

eksik özledim, bu ne eksik oldu :) – Nynaeve