2014-04-18 93 views
0

林在我的網站建立一個日誌我有這樣的if語句:if語句不是笨工作

$application = 'home'; 
    $this->user_model->loggedin() == TRUE || redirect($application); 


    $rules = $this->user_model->_rules; 
    $this->form_validation->set_rules($rules); 
    if ($this->form_validation->run() !== FALSE) { 
      if ($this->user_model->login() !== FALSE) { 
      redirect('home'); 
      echo 'success'; 
     } else { 
      echo 'fail'; 
     } 

    } 

出於某種原因,劑量不會運行否則當我提出與條件== false,這會輸入錯誤的電子郵件和密碼。無論如何,我得到的消息成功,我錯過了什麼在這裏?

這裏是user_model中的函數登錄,如果有幫助,不能找出任何幫助,將不勝感激。

public function login() { 
    $user = $this->get_by(array(
     'email_address' => $this->input->post('email_address'), 
     'password' => $this->hash($this->input->post('password')) 
      ), TRUE); 

    if (count($user)) { 
     // log in user 
     $data = array(
      'first_name' => $user->first_name, 
      'last_name' => $user->last_name, 
      'email_address' => $user->email_address, 
      'id' => $user->id, 
      'loggedin' => TRUE, 
     ); 
     $this->session->set_userdata($data); 
    } 

} 

回答

1

你不會從你的login()函數返回任何東西。您要麼根據登錄嘗試是否成功(最有可能)返回TRUE或FALSE值,要麼根據會話用戶數據進行測試。

+0

太愚蠢tnx男人不能相信我錯過了那個 – user3035984

+0

@ user3035984有時候所需要的只是一雙額外的眼睛 –

+0

當你早晨4點鐘起牀時,眼睛會背叛你u: – user3035984