私のdbに約10行あり、そのうち3つはステータス== 'Pass'になっています。私が下のコードで気づいた問題はforeachループです。それは適切に働くことを望んでいません。私はスクリプトがjSONデータをブラウザに送り返すことさえできません。これは、スクリプトがforeachステートメントを過ぎて処理していないことを意味します。誰もがこれを修正する方法を知っていますか?Codeigniterがforeachループを適切に処理していません
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}'");
foreach ($query->result() as $row) {
if ($row->status == "Pass") {
if ($query->num_rows() > 0) {
$this->session->set_userdata('logged', "1");
$this->session->set_userdata("username", "{$postedUser}");
echo json_encode(array('session_state' => true));
} else {
echo json_encode(array('session_state' => false));
}
} elseif ($row->status == "Fail" || "Pending") {
exit;
}
}
}
あなたはあなたのクエリがどんな結果を返していることを確認していますか? – Hersha
いいえ、今は何も返されていません。 –