Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'redirect_login_page' not found or invalid function name in /var/www/yur88222767/data/www/1st-network.ru/wp-includes/class-wp-hook.php on line 308
Работа с сессиями - В сети

Работа с сессиями


Вся работа с сессиями начинается с функции session_start. Эта функция создает сессию и обеспечивает к ней доступ (продолжает сессию). Если в начале кода не вызвана эта функция, работать с сессиями мы не сможем.

Для работы с сессиями используют глобальный массив $_SESSION. Если хотим что-то сохранить в сессии, просто создаем ячейку в этом массиве и присваиваем ей значение.

Для вывода — обращаемся к ячейке этого массива.

Рассмотрим на примере:

$_SESSION // в этом массиве все хранится
$_SESSION["user"] = "Max"; // сохранение данных в сессии
//Удаление сессии
unset($_SESSION["user"]);
session_destroy();
session_id();// id сессии
session_name();// имя сессии

По умолчанию сессии хранятся во временной директории операционной системы в папке Temp. Данные сюда попадают благодаря cookies. У каждой сессии есть свой id и name. Теоретически, если бы не было механизма сессии, мы могли бы сами его создать. За сессию все действия выполняют следующие объекты: 1) создается файл с сгенерированным случайным именем, 2) посылается cookie, 3) сериализуем данные в cookie, 4) когда идет обращение к cookie, вытаскиваются данные (unserialize), они зачитываются. Все эти действия за нас выполняет механизм сессий автоматически.

Существует необходимость убить сессию принудительно (как и в случае с cookie). Для этого есть функция session_destroy. Но здесь есть недостаток: файл сессии не удалится, он просто очистится, т.е. файл останется и его id тоже. Поэтому для полного удаления файла и его id нужно послать в коде удаление куки.

У сессии можно установить срок действия. По умолчанию стоит 20 минут от последнего запроса пользователя.


Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Для отправки комментария, поставьте отметку, что разрешаете сбор и обработку ваших персональных данных . Политика конфиденциальности