Методические указания к лабораторным работам для студентов iii курса автф
Скачать 1.96 Mb.
|
Go Away!";}else {echo " Here it is!"};Но наилучший вариант - управление сценариями. Для запуска сеанса в РНР используется уникальный идентификатор сеанса, представляющий собой зашифрованное случайное число. Идентификатор сеанса генерируется РНР и сохраняется на стороне клиента в течение всего времени жизни сеанса. Для хранения идентификатора сеанса используется либо cookie-набор на компьютере пользователя, либо URL. Прежде чем можно будет воспользоваться функциональными возможностями сеанса, следует запустить сам сеанс. Существует три способа сделать это. В первом способе сценарий начинается с вызова функции session_start(); Она проверяет, существует ли идентификатор текущего сеанса. Если нет, она его создает. Если да, то она загружает зарегистрированные переменные сеанса, чтобы они стали доступными для использования. Второй способ заключается в том, что сеанс запускается при попытке зарегистрировать переменные сеанса. Например, для регистрации переменной $myvar применяется код: $myvar = 5; session_register("myvar"); Третий способ запустить сеанс — задать установки РНР, при которых сеанс будет запускаться автоматически. Для этого установите опцию session.auto_start в файле php.ini. Получить доступ к переменной сеанса можно через ассоциативный массив: $HTTP_SESSION_VARS["myvar"] (сокращенная форма записи: $_SESSION ["myvar"]). Переменные сеанса не могут быть перезаписаны данными GET или POST. Проверить, является ли переменная зарегистрированной переменной сеанса, можно так: $result = session_is_registered("myvar"); После окончания работы с переменной сеанса ее регистрацию можно отменить, воспользовавшись функцией session_unregister("myvar"); Она за один раз может отменить регистрацию только одной переменной сеанса (в противоположность session_register()). Для отмены регистрации всех переменных текущего сеанса можно обратиться к session_unset(). По завершении сеанса сначала потребуется отменить регистрацию всех переменных, а затем для обнуления идентификатора сеанса вызвать session_destroy(); Пример см. здесь: http://gun.cs.nstu.ru/web/labs/lab4/. Для доступа используются учетные записи администратора tratata с паролем secretpassword и модератора user с паролем test. Ссылка на модуль администрирования представляет собой пример курсовой работы. Методические указания Для разработки сценариев применяйте любые доступные текстовые редакторы, например, Jview или Notepad++. Сценарии располагаются на сервере с адресом 217.71.139.72, подключение к которому производится по протоколу FTP с именем учетной записи userNM, где N – порядковый номер группы, M- номер студента по журналу, пароль сообщается преподавателем. Лабораторная работа выполняется в отдельной папке на сервере, куда копируются сценарии лабораторной работы №3 для модификации. При настройке клиента FTP необходимо установить пассивный режим. При разработке страниц периодически сохраняйте их и проверяйте их отображение в любом из доступных браузеров. При написании сценариев обращайте внимание на кодировку русского текста, правильность написания HTML-тегов, имен переменных и функций PHP, парность открывающих и закрывающих кавычек в операторе echo. При отладке сценариев обновляйте содержимое окна браузера при нажатой клавише Shift. Для запрета кэширования web-страниц на локальном диске формируйте в сценариях заголовок header(expires='-1d'). По окончании лабораторной работы запишите документы сайта на сменный носитель для сохранения и распечатки. Порядок выполнения работы Разработать таблицы пользователей и групп доступа, добавить их в базу данных из лабораторной работы №1, заполнить не менее чем двумя записями. Модифицировать файл index.php сценария извлечения записей из базы данных так, чтобы неавторизованному пользователю была доступна только функция извлечения данных и поиск по параметру. Разместить в нем ссылку на сценарий авторизации. Из браузера обратиться по адресу http://217.71.139.72/ |