У меня есть около 10 строк в моей базе данных, и 3 из которых имеют статус == «Пропустить». Проблема, которую я заметил в приведенном ниже коде, связана с циклом foreach. Он не хочет работать должным образом. Я даже не могу заставить скрипт отправить данные jSON обратно в браузер, что означает, что скрипт не обрабатывается после оператора 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;
}
}
}