Я работаю над codeigniter, у меня есть вид входа в систему, где я передаю форму контроллеру для входа в систему, но ответ, который я получаю, – это 302 Найдено и перенаправляется на мою страницу входа.
мой код контроллера
class super_admin extends CI_Controller { public function index() { $this->load->view('admin/login_view'); } function checkLogin() { $email = mysql_real_escape_string($_POST['email']); $pwd = mysql_real_escape_string($_POST['pwd']); $this->load->model('admin/admin_model'); $user = $this->admin_model->checkUser($email); //print_r($user[0]); if ($user && ($user[0]->password == md5($pwd))) { $user_data = array( 'user_id' => $user[0]->user_id, 'user_name' => $user[0]->name, 'user_email' => $user[0]->email ); $this->session->set_userdata($user_data); $this->load->view('admin/dashboard_view',$user_data); } else { $this->session->set_flashdata('invalid', '<div class="alert alert-error" id="invalid" ><h6>Invalid Email or Password</h6></div>'); redirect('admin/super_admin'); } } }
Как я могу это исправить?
Пожалуйста, не загружайте представление в методы, в которых вы отправляете свои формы, используйте перенаправления, иначе вы не получите почтовые запросы при обновлении своей страницы, а ваше условие вернет false, что приведет к сбоям в работе. Попробуйте это обходное решение. Также проверьте, какие ваши переменные user user конатируются.
class super_admin extends CI_Controller { public function index() { $this->load->view('admin/login_view'); } function checkLogin() { $email = $this->input->post('email', TRUE); $pwd = $this->input->post('pwd', TRUE); $this->load->model('admin/admin_model'); $user = $this->admin_model->checkUser($email); //print_r($user[0]); if ($user && ($user[0]->password == md5($pwd))) { $user_data = array( 'user_id' => $user[0]->user_id, 'user_name' => $user[0]->name, 'user_email' => $user[0]->email ); $this->session->set_userdata($user_data); redirect('super_admin/dashboard'); } else { $this->session->set_flashdata('invalid', '<div class="alert alert-error" id="invalid" ><h6>Invalid Email or Password</h6></div>'); redirect('admin/super_admin'); } } function dashboard() { if( $this->session->userdata('user_id') ) { $user_data = $this->session->all_userdata(); $this->load->view('admin/dashboard_view',$user_data); } else { redirect('admin/super_admin'); } } }