ГРУППА КУРСА
|
Главная >
Учебник PHP >
Сессии в PHPСессии - это способ хранения данных во время присутствия пользователя на сайте. Пользователь проходит по страницам сайта, запускает разные серверные скрипты и при этом в сессии сохраняются какие-то данные, которые используются скриптами. Один скрипт может записать в сессию данные, а другой может эти данные получить. Либо их может получить тот же самый скрипт при новом запуске. Для работы с сессией используется функция session_start(). Если сессия ещё не создана, то функция создаёт сессию пользователя. А если сессия существует, то происходит подключение к ней. Эта функция должна быть в каждом скрипте, который обращается к сессиям. Она должна идти в коде скрипта раньше вывода любых данных. После подключения скрипт получает доступ к суперглобальному массиву $_SESSION, в котором содержатся данные сессии. Скрипт может получить значения, содержащиеся в массиве. Также он может добавить в массив новые элементы и изменить значения существующих. Данные в сессии содержатся до тех пор, пока пользователь не уйдёт с сайта. Когда пользователь закрывает все открытые им страницы сайта, сессия уничтожается и данные, которые в ней содержались, стираются. Существует функция session_destroy, которая также уничтожает сессию. Для примера создадим скрипт, который будет записывать в сессию время запуска этого скрипта. При следующем запуске, он будет выводить время предыдущего запуска. +
Скрипт работает так: в переменные $hour и $min записываются данные из сессии. Если переменные содержат значения, значит это не первый запуск скрипта и значения выводятся на экран. А если переменные не содержат значений, значит скрипт ещё не запускался во время текущего визита пользователя. Создайте страницу, со ссылкой на этот скрипт и пройдите по этой ссылке. При первом переходе скрипт выведет надпись: Первый визит на страницу Если в браузере нажать кнопку "Назад" и снова пройти по ссылке, то будет указано время предыдущего запуска. Сессия будет уничтожена при выходе с сайта. На локальном сервере для этого нужно полностью закрыть браузер. Теперь, если Вы заново запустите скрипт, то в сессии не будет данных. Сессии часто используются для авторизации пользователей на сайте. Когда пользователь проходит авторизацию, информация об этом сохраняется в сессии и он переходит по страницам сайта как авторизованный пользователь. Сессии работают следующим образом: когда на сайт заходит новый пользователь и создаёт сессию, для него на сервере создаётся отдельный файл, а сессии присваивается уникальный идентификатор, который указывает, в каком именно файле содержится сессия пользователя. В этот файл записываются данные сессии и при необходимости берутся из него. |