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:

  1. 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)
  2. Adres IP użytkownika
  3. Dane użytkownika użytkownika agenta (pierwsze 120 znaków ciągu danych przeglądarki)
  4. 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);


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow