2017-03-08 9 views
1

Ich habe ein Problem in der Codeignitersitzung, wenn ich mich anmeldete, das System funktioniert und Sitzung eingestellt ist, aber wenn ich eine neue Registerkarte im Browser öffnen und erneut anmelden, wird die aktuelle Sitzung durch die ersetzt neu protokollierte Sitzung Was ich erreichen möchte, ist, direkt in die Homepage umzuleiten, wenn die Sitzung eingestellt ist und zur Login-Seite weiterzugehen, wenn die Sitzung nicht eingestellt ist.Verhindern Ersetzen der Sitzung in CodeIgniter

Ich recherchierte etwas dafür, irgendwie versuche ich das aber es hat nicht wie erwartet funktioniert.

Controller:

public function index(){ 

    if(isset($_SESSION['Username'])){ 
     redirect('Isidran/home' , 'refresh'); 
    } else { 

     $data['title'] = 'Isidran Club and Organization Online Information System - Login'; 
     $this->load->view('pages/login/index', $data); 
    } 
} 

Modell:

public function login($data) 
    { 

     $username = $data['username']; 
     $password = $data['password']; 
     $query =$this->db->query("SELECT * FROM tbl_user WHERE user_Username ='$username' AND user_Password ='$password'"); 
     $row =$query->row(); 
     if(isset($row)){ 
      $user_ID =$row->user_ID; 
      $username =$row->user_Username; 
      $FirstName=$row->user_FirstName; 
      $LastName = $row->user_LastName; 
      if($row->user_level == 0){ 
       $permission = TRUE; 
       $userdata = array('user_ID' => $user_ID, 'Username' => $username, 'FirstName' => $FirstName, 'LastName' => $LastName, 'logged_in' => TRUE, 'permission' => $permission); 
      } else { 
       $userdata = array('user_ID' => $user_ID, 'Username' => $username, 'FirstName' => $FirstName, 'LastName' => $LastName, 'logged_in' => TRUE); 
      } 
      $this->session->set_userdata($userdata); 
     return true; 
     } else { 
     return false; 
     } 
    } 
+0

In Controller verwenden auch die CI Session Bibliothek – Naincy

Antwort

1

Verwenden Sie die folgenden für Ihre Sitzungsdaten einstellen, übergeben Daten in Array ($ session_data)

$this->session->set_userdata('logged_in', $session_data); 

und nach zur Überprüfung wenn Sitzungen vorhanden sind

if (isset($this->session->userdata['logged_in'])) { 
URL 
} 

Verwenden Sie die obige if-Anweisung auf der Anmeldeseite, oder erstellen Sie eine eigene Logik, um jede angezeigte Seite zu überprüfen.

Lesen Sie die folgende vollständige Verwendungsmethode Sitzung

https://www.formget.com/form-login-codeigniter/