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));
}
}
}
'$ row-> status'の値は何ですか? – Joe
私が呼んでいる列には「合格」があります。しかし、私は他の値、例えば、 '保留中'や '承認済み'などの行を持っています。私は 'Pass'とは異なる 'status'値を持つ行のテーブルを取り除き、それが何であるかを見ていきます。 –
うーん、それは働いたので、それはどういう意味ですか?何がうまくいかないの? –