2016-12-16 8 views
2

Ich habe diese Login-Validierung:Logout in 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'); 
      } 
      } 

Diese Umleitung:

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

Und das ausloggen:

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

Aber wenn ich drücken Abmelden von meiner Seite Ich werde auf den Login-Tab weitergeleitet, aber wenn ich die URL-Route mit/Pag schreibe, werde ich wieder auf der Website (ohne die Notwendigkeit, den creden eingeben) Tials), denke ich, dass sess_destroy meine Sitzung nicht wirklich zerstören.

+0

Sind Sie für die Überprüfung die Sitzung auf '/ Pag'? – scottevans93

+0

Wie kann ich das tun? – Bogdan

+0

Führen Sie 'members()' -Funktion auf Ihrer '/ Pag' Seite sowie Ihre Anmeldung – scottevans93

Antwort

0
  1. Bitte stellen Sie sicher, dass die Sitzung Überprüfung an/Seite
  2. einige Server Ausgabe (Logout Problem mit www und withought www). Sie müssen 301 Redirect verwenden. Ich durch dieses verwaltet In Ihrem .htaccess Datei diesen Code setzen

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