2012-02-11 12 views
0

($row->status == "Pass")はtrueに等しくなければならないが、そうでないものがある。私はコードエラーがあると思います。誰かが私が間違っていることを知っていますか?コメントからでコピーCodeIgniter if ... else文が正しく実行されない

public function logsig() { 
     header('Content-type:application/json'); 
     $postedUser = $this->input->post('username'); 
     $password = $this->input->post('password'); 
     $hashedPass = $this->encrypt->sha1($password); 
     $query = $this->db->query("SELECT * FROM users WHERE username = '{$postedUser}' AND password = '{$hashedPass}'"); 
      if ($query->num_rows() > 0) { 
       $row = $query->row(); 
       if ($row->status == "Pass") { 
        $this->session->set_userdata('logged', "1"); 
        $this->session->set_userdata("username", "{$postedUser}"); 
        echo json_encode(array('session_state' => true)); 
       } elseif ($row->status == "Fail" || $row->status == "Pending") { 
        echo json_encode(array('session_state' => false)); 
       } 
      } 
     } 
+1

'$ row-> status'の値は何ですか? – Joe

+0

私が呼んでいる列には「合格」があります。しかし、私は他の値、例えば、 '保留中'や '承認済み'などの行を持っています。私は 'Pass'とは異なる 'status'値を持つ行のテーブルを取り除き、それが何であるかを見ていきます。 –

+0

うーん、それは働いたので、それはどういう意味ですか?何がうまくいかないの? –

答えて

3

ので、これはHenesのために未回答の中に現れて保持しません:)


それは、大文字と小文字が区別だ - それは両方の場所で「合格」は間違いなくありますか?問題はほぼ確実に単純なものになるので、基本を再確認してください。

関連する問題