Вот мой контроллер
public function login() {
$this->load->model('admin_model');
$access = $this->admin_model->check_login();
$data['content'] = 'content/home';
$data['title'] = 'Admin Panel Login';
if($access) {
$data= array(
'email' => $this->input->post('email'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('admin/index/dashboard');
} else {
$this->index($page = 'home', $msg = 'failure');
}
Вот моя модель
public function check_login() {
$this->db->where('email', $this->input->post('email'));
$this->db->where('password', $this->input->post('password'));
$query = $this->db->get('customers');
return (bool) $query->num_rows;
}
То, над чем я работал, - это функция в моем конструкторе Admin, которая гарантирует, что пользователи не смогут получить доступ к какой-либо странице, пока они не вошли в систему. Проблема в том, что когда я захожу в admin / login, он устанавливает is_logged_in в true даже если функция check_login должна возвращаться как false. Он говорит, что находит строку, хотя сейчас в моей БД есть только 1 строка, которой она не должна соответствовать.
Я новичок в КИ, поэтому, пожалуйста, будьте осторожны. :)