2016-12-16 4 views
2

У меня есть этот логин проверки:Выход в CodeIgniter 3

 public function login_validation() { 

      $this->load->library('form_validation'); 

      $this->form_validation->set_rules('email','Email', 
      'required|trim|callback_validate_credentials'); 
      $this->form_validation->set_rules('password','Password','required|md5|trim'); 

      if ($this->form_validation->run()){ 
       $data= array(
        'email'=> $this->input->post('email'), 
        'is_logged_in' => true 
       ); 
       $this->session->set_userdata($data); 
       redirect('Pag'); 
      }else { 
       $this->load->view('login'); 
      } 
      } 

Это редирект:

 public function members() { 
      if($this->session->userdata('is_logged_in')){ 
       redirect('Pag'); 
      }else{ 
       redirect('main/restricted'); 
      } 
      } 

И это выйти:

 public function logout() { 
      $this->session->unset_userdata('is_logged_in'); 
      $this->session->sess_destroy(); 
      redirect('main/login'); 
     } 

Но когда я нажимаю Выход из моей страницы Я перейду на вкладку входа в систему, но если я напишу URL-маршрут с помощью/Pag, я снова получу на сайте (без необходимости вводить имя creden я думаю, что sess_destroy фактически не уничтожают мою сессию.

+0

Вы проверки сеанс на '/ Pag'? – scottevans93

+0

Как я могу это сделать? – Bogdan

+0

Запустите функцию 'members()' на вашей странице '/ Pag', а также ваш логин – scottevans93

ответ

0
  1. Пожалуйста, убедитесь, что ваш проверяете сессию/Page
  2. некоторые сервера имеют проблему (проблему выхода из системы с WWW и withought WWW). Вам нужно использовать 301 перенаправление. Я сумел этим В файле .htaccess поместить этот код

    RewriteEngine На RewriteCond% {SERVER_PORT} 80 RewriteRule^(. *) $ https://www.example.com/ $ 1 [R, L]

Смежные вопросы