Переменная сеанса является специальным типом переменной, значение которой сохраняется при переходе между последовательными страницами Web. C помощью переменных сеанса специфические данные пользователя можно сохранять при переходе со страницы на страницу, предоставляя ему индивидуализированный контент при взаимодействии пользователя с приложением Web. Переменные сеанса существуют обычно, пока не выполняется одно из следующих событий:
Проблема, которую должны решить переменные сеанса, состоит в том, что протокол HTTP, используемый в Web, не имеет состояния. Каждый запрос страницы совершенно независим от предыдущих запросов, поэтому, если требуется, чтобы последующие страницы "запоминали" имя пользователя, которое он вводит на первой странице, то эту информацию надо где-то сохранить.
Система PHP имеет ряд средств для поддержки сеансов. Это руководство начинается с введения глобальной переменной $_SESSION[]. Переменную $_SESSION[] рекомендуется использовать для улучшения безопасности и удобочитаемости кода.
Также вводятся функции сеанса session_start() и session_destroy(). Каждая из них определена ниже:
$_SESSION[] – суперглобальный массив PHP, который содержит зарегистрированные в данный момент переменные сеанса сценария.
session_start() – инициализация данных сеанса. Эта функция вызывается перед созданием новой переменной сеанса с помощью $_SESSION[].
session_destroy() – разрушает все данные, зарегистрированные для текущего сеанса сценария
В учебнике вводится также функция PHP header("Location …"). Хотя это функция HTTP, а не функция сеанса, она обычно используется для перенаправления пользователей во время существующих сеансов. Эта функция определена ниже.
header("Location: http://www.domain.com") – функция header используется для перенаправления браузера на страницу, определенную параметром Location.
Следующий блок кода демонстрирует, как инициализируется переменная сеанса.
<?php