Сессии являются простым способом хранения информации для отдельных пользователей с уникальным идентификатором сессии. Это может использоваться для сохранения состояния между запросами страниц. Идентификаторы сессий обычно отправляются браузеру через сессионный cookie и используются для получения имеющихся данных сессии. Отсутствие идентификатора сессии или сессионного cookie сообщает PHP о том, что необходимо создать новую сессию и сгенерировать новый идентификатор сессии.
Сессии используют простую технологию. Когда сессия создана, PHP будет либо получать существующую сессию, используя переданный идентификатор (обычно из сессионного cookie) или, если ничего не передавалось, будет создана новая сессия. PHP заполнит суперглобальную переменную $_SESSION сессионной информацией после того, как будет запущена сессия. Когда PHP завершает работу, он автоматически сериализует содержимое суперглобальной переменной $_SESSION и отправит для сохранения, используя сессионный обработчик для записи сессии.
$_SESSION
Ассоциативный массив, содержащий переменные сессии, которые доступны для текущего скрипта.
Сессии PHP представляют собой различные способы сохранения данных для дальнейшего доступа к ним. Они позволяют создавать более гибкие приложения и улучшают привлекательность вашего сайта.
Подробная информация находится в справочнике сессий.
Поддержка сессий в PHP заключается в способе сохранения некоторых данных между несколькими последовательными доступами к веб-сайту.
Каждому посетителю сайта присваивается уникальный идентификатор, называемый идентификатором сессии (session id). Он хранится либо в cookie на стороне пользователя, либо передается через URL.
Поддержка сессий позволяет сохранять данные между запросами в суперглобальном массиве $_SESSION
. В тот момент, когда посетитель получает доступ к сайту, PHP проверяет послан ли вместе с запросом определенный идентификатор сессии. Если это так, восстанавливается сохраненное ранее окружение.
Любой скрипт, который будет использовать переменные (данные) из сессий, должен содержать следующую строчку:
session_start();
Эта команда говорит серверу, что данная страница нуждается во всех переменных, которые связаны с данным пользователем (браузером). Сервер берёт эти переменные из файла и делает их доступными. Очень важно открыть сессию до того, как какие-либо данные будут посылаться пользователю.
Для удаления сессии необходимо выполнить следующие функции
session_start(); // также как и везде надо инициализировать данные сессии
session_unset(); // уничтажаем данные сессии (переменные)
session_destroy(); // уничтожает все данные, ассоциированные с сессией
Примеры использования