Я пытаюсь создать сеанс в Codeigniter. Я загрузил библиотеку session
и encrypt
в автозагрузке. По умолчанию открывается страница login.php
. Я хочу открыть страницу dashboard.php
, если пользователь уже вошел в систему. Я написал следующий код, но он открывает страницу login.php даже после входа в систему.Как проверить сеанс в кодеригенере?
Просьба сообщить, как проверить, установлен ли сеанс или нет.
public function index() { $data['products_data']= $this->products_model->all_products(); // $this->load->view('login'); $this->form_validation->set_rules('username','Username','required'); $this->form_validation->set_rules('password','Password','required'); if ($this->form_validation->run()== false) { $this->load->view('login'); } else { if ($this->session->userdata('login_status')) { $this->load->view('header'); $this->load->view('dashboard'); $this->load->view('footer'); } else { $username= $this->input->post('username'); $password= $this->input->post('password'); if($this->products_model->login_model($username,$password)) { $sess_data= array( 'username'=> $username, 'login_status'=>'1' ); $session_data = $this->session->set_userdata($sess_data); $this->load->view('header'); $this->load->view('dashboard'); $this->load->view('footer'); } } } }
Я обновил свой код. Еще после входа в систему, когда я обновляю страницу, он отправляет меня обратно в login.php..и теперь после входа в систему его открытие пустой страницы. Просьба проверить это. Спасибо –
'if ($ this-> products_model-> login_model ($ username, $ password)) {} else {// ваш код входа}'. Проверьте, включено ли условие if или false. После его истины будет проверяться только проверка сеанса. –
@AftabAamir проверить мой ответ, ваш '$ sess_data' на' set_userdata' имеет один qoute, удалить его, потому что он обрабатывает его как обычную строку. – tomexsans