(краткое содержание)
Основы
При работе веб-приложений одной из самых важных задач является хранение
данных пользователя для регулярного обращения к ним в период нахождения
пользователя на сайте. С точки зрения пользователя, он чувствует постоянный
контроль его действий (авторизация, контроль статуса онлайн, совершение
действий с данными и т. п.), но с точки зрения работы сервера обмен данными
происходит не регулярно, а порциями информации. На время пауз между обменом
данными необходимо обеспечить хранение какой-либо временной информации,
которая может потребоваться пользователю при следующей процедуре обращения
к приложению.
Для таких задач используются сессии – механизмы хранения произвольных
данных, индивидуальных для каждого пользователя, между запусками сценариев.
С механической точки зрения, сессия – это некое место долговременной памяти (на
жестком диске, в cookies браузера и т. п.), сохраняющее свое состояние между
вызовами сценариев одним и тем же пользователем.
Механизм работы
Перед тем, как создать сессию, необходимо определить, к кому из
пользователей она будет относиться. Для этого при запуске сессии пользователю
присваивается уникальный идентификатор сессии – Session ID, помещаемый в
cookies браузера. Далее, при последующих обращениях к данным сессии,
происходит идентификация через этот параметр и, таким образом, каждый
пользователь получает доступ к своему личному хранилищу, а не к чужому.
С точки зрения обращения к данным сессии все просто – вся информация
хранится в глобальном массиве $_SESSION. Обращение к нему аналогично
обращению к любому массиву, с ним работают функции, конструкции и операторы
для работы с массивами.
Инициализация сессии
Перед тем, как начать работу с сессией, необходимо ее запустить (или как еще
говорят - инициализировать) с помощью функции:
bool session_start([array $options = array()])
Функция может принимать дополнительные параметры запуска сессии,
предопределяющие текущие директивы сессий.
В стандартном виде запуск сессии производится без дополнительных
параметров:
session_start()
В качестве примера использования сессии при работе с веб-приложением
можно рассмотреть хранение некоторых пользовательских данных, таких как имя
пользователя, время запуска сессии и количество запусков страницы (счетчика):
Листинг 43.1. Пример работы с сессией
//Запускаем сессию
session_start();
1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
2
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
3
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)