codeigniter
Korzystanie z sesji
Szukaj…
Uwagi
Klasa Sesje Codeigniter wykorzystuje pliki cookie przeglądarki do zapisywania danych, które będą się utrzymywać podczas ładowania wielu stron.
Odniesienie: https://codeigniter.com/user_guide/libraries/sessions.html
Tworzenie sesji
Aby zainicjować sesję, możesz po prostu załadować ją do kontrolera, zwykle umieszczamy ją w konstrukcjach kontrolera, ale można ją również automatycznie załadować do tablicy znajdującej się w aplikacji / config / autoload.php:
$this->load->library('session');
Obsługa danych sesji
Sesja to po prostu tablica składająca się z następujących informacji użytkownika:
- Unikalny identyfikator sesji użytkownika (jest to statystycznie losowy ciąg z bardzo silną entropią, mieszany z MD5 w celu przenoszenia i regenerowany (domyślnie) co pięć minut)
- Adres IP użytkownika
- Dane użytkownika użytkownika agenta (pierwsze 120 znaków ciągu danych przeglądarki)
- Znacznik czasu „ostatniej aktywności”.
Źródło ( what-is-session-data )
Aby pobrać dane sesji
takie jak SessionID:
$this->session->userdata('session_id');
Uwaga - w Codeigniter 3.x możesz użyć powyższej składni, ale wprowadzono koncepcję lub moduły pobierające magię, w których możesz użyć $this->session->session_id
.
Pamiętaj, że userdata()
zwraca NULL, jeśli element sesji nie istnieje.
Aby pobrać wszystkie dane sesji
$this->session->all_userdata()
Aby ustawić dane sesji
metoda set_userdata()
pozwala ustawić dane w sesji, w poniższym przykładzie pokazano przykładową tablicę, którą chcesz wstawić:
$newdata = array(
'username' => 'johndoe',
'email' => '[email protected]',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
Możesz również ustawić po jednym danych, na przykład:
$this->session->set_userdata('some_name', 'some_value');
lub
$some_name = 'some_value';
$this->session->set_userdata($some_name);
Aby usunąć sesję i dane sesji
$this->session->unset_userdata('some_name')
Ta metoda akceptuje również tablicę kluczy pozycji do rozbrojenia:
Dla Codeiginter 3.x:
$array_items = array('username', 'email');
$this->session->unset_userdata($array_items);
Dla Codeiginter 2.x (ta starsza składnia nie obsługuje 3.x):
$array_items = array('key' => 'value');
$this->session->unset_userdata($array_items);