Сессия (session) создает файл во временном каталоге на сервере, где могут храниться переменные и их значения. Эти данные доступны для всех страниц сайта, но только во время этого сеанса связи с сервером.
Расположение временного файла определяется настройкой в файле php.ini, называемой session.save_path.
Когда сессия инициируется, происходит ряд событий
Когда PHP-скрипт хочет получить значение переменной сеанса, PHP автоматически получает идентификатор сеанса из cookie PHPSESSID, затем ищет временную директорию для файла с этим именем, проверка производится путем сравнения обоих значений.
Сессия заканчивается, когда пользователь закрывает браузер или покидает сайт, сервер завершает сеанс по истечении заданного периода времени, обычно 30 минут.
Функция session_start() стартует сеанс связи (session). Эта функция сначала проверяет, запущен ли сеанс, и если ни один не запущен, она запускает его.
Рекомендуется размещать вызов session_start () в начале страницы.
Переменные сеанса хранятся в ассоциативном массиве с именем $ _SESSION []. Эти переменные могут быть доступны во время жизни сеанса.
В следующем примере открывается сессия (сеанс), затем регистрируется переменная с именем counter, которая увеличивается каждый раз, когда страница посещается во время этого сеанса.
Функция isset() используется для проверки, установлена уже переменная сессии или нет.
Результат:
Пример:
Можно не вызывать функцию start_session (), чтобы начать сеанс, когда пользователь посещает сайт, если в файле php.ini переменная session.auto_start установлена равной 1.