2014-02-18 82 views
0

登錄表單驗證不起作用,對於註冊工作正常,但是當我使用我的登錄表單嘗試同樣的事情時。某些檢查在代碼點火器中無法正常工作。 這裏是我的code.I運行代碼,它在我的其他條件,但不顯示驗證錯誤。 前兩個檢查爲我創建問題。當輸入空白或一些輸入錯誤的電子郵件格式。在codeigniter中登錄表單驗證無法正常工作

function index() { 
    $data['nav']= $this->category_model->view_brands(); 

    if($_POST) { 
     $data['error'] = ''; 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('email_login', 'Email', 'required|valid_email'); 
     $this->form_validation->set_rules('password_login', 'Password', 'required'); 

     if($this->form_validation->run() !== FALSE) { 
      $log_in = $this->login_model->login_beyond(
         $this->input->post('email_login'), 
         md5($_POST['password_login']) 
        ); 

      if($log_in !== FALSE) { 
       echo "<script>window.location.href=\"../index.php\"</script>"; 
      } 
      else { 
       // Set your error message 
       $data['error'] = 'Wrong Username/Password'; 
      } 
     } 
     else { 
      // Set the validation errors 
      echo "it came heere but donot show errors"; 
      $data['error'] =validation_errors(); 
     } 
    } 

    $data['login_not'] = "login"; 
    $this->template->load('template','client/login_view',$data); 
} 
+0

添加您的視圖代碼也 –

+0

什麼錯誤顯示 –

+0

它說明不了什麼...但它有別的condition.As我贊同上述it..But誤差不come.It顯示相同的形式。 – user1542996

回答

0

最好是寫if ($this->form_validation->run() === FALSE),並從那裏,而不是寫if($this->form_validation->run() !== FALSE)的工作。這是因爲在表單驗證中,當run()返回true時,可能是因爲它評估了所有結果,並且沒有找到任何錯誤或給出的值不存在,因此錯誤驗證不適用於不存在的值。

還是讓我知道,如果它