codeigniter
Использование сеансов
Поиск…
замечания
Класс Codeigniter Sessions использует куки-файлы браузера для сохранения данных, которые будут сохраняться при загрузке нескольких страниц.
Ссылка: https://codeigniter.com/user_guide/libraries/sessions.html
Создание сеанса
Чтобы инициализировать сеанс, вы можете просто загрузить его в свой контроллер, который обычно помещается внутри конструкторов контроллера, но он также может быть автоматически загружен в массив, найденный внутри application / config / autoload.php:
$this->load->library('session');
Обработка данных сеанса
Сессия - это просто массив, состоящий из следующей информации пользователя:
- Уникальный идентификатор сеанса пользователя (это статистически случайная строка с очень сильной энтропией, хешированная MD5 для переносимости и регенерированная (по умолчанию) каждые пять минут)
- IP-адрес пользователя
- Данные User Agent пользователя (первые 120 символов строки данных браузера)
- Временная метка «Последняя активность».
Источник ( данные-сессии-данные )
Чтобы получить данные сеанса
таких как 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);