2014-04-18 49 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