Поиск…


замечания

Класс Codeigniter Sessions использует куки-файлы браузера для сохранения данных, которые будут сохраняться при загрузке нескольких страниц.

Ссылка: https://codeigniter.com/user_guide/libraries/sessions.html

Создание сеанса

Чтобы инициализировать сеанс, вы можете просто загрузить его в свой контроллер, который обычно помещается внутри конструкторов контроллера, но он также может быть автоматически загружен в массив, найденный внутри application / config / autoload.php:

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

Обработка данных сеанса

Сессия - это просто массив, состоящий из следующей информации пользователя:

  1. Уникальный идентификатор сеанса пользователя (это статистически случайная строка с очень сильной энтропией, хешированная MD5 для переносимости и регенерированная (по умолчанию) каждые пять минут)
  2. IP-адрес пользователя
  3. Данные User Agent пользователя (первые 120 символов строки данных браузера)
  4. Временная метка «Последняя активность».

Источник ( данные-сессии-данные )


Чтобы получить данные сеанса

таких как SessionID:

$this->session->userdata('session_id');

Примечание. Для Codeigniter 3.x вы можете использовать вышеупомянутый синтаксис, но была введена концепция или волшебные геттеры, где вы можете использовать $this->session->session_id .

Помните, что userdata() возвращает NULL, если элемент сеанса не существует.

Чтобы получить все данные сеанса

$this->session->all_userdata()

Чтобы установить данные сеанса

метод set_userdata() позволяет вам устанавливать данные в ваш сеанс, следующий пример демонстрирует пример массива, который вы хотите вставить:

$newdata = array(
        'username'  => 'johndoe',
        'email'     => '[email protected]',
        'logged_in' => TRUE
);

$this->session->set_userdata($newdata);

Вы также можете установить по одному данным за раз, например:

$this->session->set_userdata('some_name', 'some_value');

или же

$some_name = 'some_value';
$this->session->set_userdata($some_name);

Удаление сеанса и данных сеанса

$this->session->unset_userdata('some_name')

Этот метод также принимает массив ключей элементов для отмены:

Для Codeiginter 3.x:

$array_items = array('username', 'email');

$this->session->unset_userdata($array_items);

Для Codeiginter 2.x (этот устаревший синтаксис не поддерживает 3.x):

$array_items = array('key' => 'value');

$this->session->unset_userdata($array_items);


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow