- •Министерство образования Российской федерации
- •2.2. Выполнение аутентификации пользователей средствами управления сеансом в рнр
- •2.2.2.Регистрация переменных сеанса
- •2.2.3.Использование переменных сеанса
- •2.2.4.Отмена регистрации переменных и завершение сеанса
- •3.Порядок выполнения работы
- •4.Содержание отчета
2.2. Выполнение аутентификации пользователей средствами управления сеансом в рнр
PHP (РНР Hypertext Preprocessor) - это серверный язык создания сценариев, разработанный специально для Web. В HTML-страницу можно внедрить код РНР, который будет выполняться при каждом ее посещении. Код РНР интерпретируется Web-сервером и генерирует HTML или иной вывод, наблюдаемый посетителем страницы. Синтаксис РНР основывается на других языках программирования, в первую очередь на С и Perl.
HTTP-протокол иногда называют «протоколом без состояния». Это означает, что данный протокол не имеет встроенного способа поддержки состояния между двумя транзакциями. Когда пользователь запрашивает друг за другом две страницы, HTTP не обеспечивает возможности уведомить, что оба запроса исходят от одного и того же пользователя. Это усложняет перенос между страницами введенных пользователем данных, таких как данные аутентификации.
Таким образом, идея управления сеансами заключается в обеспечении отслеживания пользователя в течение одного сеанса связи с Web-сайтом.
Реализация управления простым сеансом
Основными этапами использования сеанса являются следующие:
Запуск сеанса
Регистрация переменных сеанса
Использование переменных сеанса
Отмена регистрации переменных и закрытие сеанса
Заметим, что все перечисленные этапы не обязательно могут содержаться в одном сценарии, и некоторые из них могут находиться в нескольких сценариях. Рассмотрим каждый из этих этапов последовательно.
2.2.1.Запуск сеанса
Прежде чем можно будет воспользоваться функциональными возможностями сеанса, следует запустить сам сеанс. Существует несколько способов сделать это.
Но самый простой заключается в том, что сценарий начинается с вызова функции :
session start () ;
Эта функция проверяет, существует ли идентификатор текущего сеанса. Если нет, она его создает. Если же идентификатор текущего сеанса уже существует, она загружает зарегистрированные переменные сеанса.
2.2.2.Регистрация переменных сеанса
Для того чтобы получить возможность отслеживать переменные от одного сценария к другому, их необходимо зарегистрировать. Это делается путем вызова функции session_register (). Например, для регистрации переменной $myvar применяется следующий код:
$myvar=5 ; session register("myvar") ;
Данный оператор регистрирует имя переменной и отслеживает ее значение. Отслеживание переменной будет осуществляться, пока не завершится сеанс, либо пока вручную не отменится ее регистрация.
За один прием можно зарегистрировать более одной переменной, передав разделенный запятыми список имен переменных:
Session register ("myvar1","myvar2");
2.2.3.Использование переменных сеанса
Чтобы сделать переменную сеанса доступной для использования, сначала необходимо запустить сеанс.
После этого появляется доступ к этой переменной. Если включена опция register_globals, то доступ к этой переменной можно получить через сокращенную форму ее имени, например, $myvar. Если же упомянутая опция не включена, получить доступ к переменной можно через ассоциативный мас-сив $HTTP_SESSION_VARS,например ,$HTTP_SESSIQN_VARS["myvar”].
Проверить, является ли переменная зарегистрированной переменной сеанса, можно обратившись к функции session_is_registered(). Вызов функции выполняется следующим образом:
$result=session_is_registered("myvar");
Эта функция проверит, является ли $myvar зарегистрированной переменной сеанса, и вернет true или false.
Можно поступить и по-другому — проверить массив $HTTP SESSION_VARS на предмет наличия в нем переменной.