Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции Косьмин.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.69 Mб
Скачать

Тема: механизмы передачи данных

1 Вопрос. Механизм cokie

Предназначен для хранения небольших объемов информации на стороне (компьютере) клиента в навигаторе. Это механизм Internet Explorer

Применяется для хранения имени пользователя, пароля и информации о посещении сайтов.

Навигатор защищает место хранения конфиденциальной информацией. Internet Explorer хранит данные в папке cookie в отдельных файлах. Открывать и редактировать эти файлы нельзя.

PHP значения записи cookie регулирует встроенной ф-цией SETCOOKIE(_). Данная ф-ций должна применяться до организации потока с навигатором (в начале страницы). Ее нельзя использовать после текста выводимого в окне навигатора (оператор эха и PHPкод). Чтение значений cookie записей выполняется из суперглобального массива $_COOKIE

Формат ф-ции SETCOOKIE:

SETCOOKIE(NAME,VALUE,EXPIRES,PATH,domain,SECURE)

Параметр NAME – обязательный, это строка содержащая имя cookie записей

Параметр VALUE – строка содержащая значение cookie

Параметр EXPIRES – срок хранения cookie записей в секундах.

Если параметр не определен, то cookie запись удаляется. Время жизни cookie записей регулируется ф-циями: TIME(_) или MKTIME(_)

TIME(_)+2*60*60

Параметр PATH – строка содержащая путь cookie записей

Параметр domain - строка содержащая домен cookie записей (т.е не полная адресная ссылка, до точки входа)

Параметр SECURE – логическое значение определяющее необходимость защищенного соединения. Если правда – то соединение будет защищено, связь пойдет кодированной; если ложь – то кодирование не будет происходить.

Обязательным параметром явл первый, остальные м.б опущены и приняты по умолчанию.

cookie запись удаляется установкой ее простого значения.

SETCOOKIE(“MyCookie”); //установка cookie записи

SETCOOKIE(“MyCookie”,”_”); //удаление cookie записи

cookie записи не доступны на той странице сайта, на которой они сделаны. Доступ к данным cookie записей организуется ч\з супер глобальный массив $_COOKIE с др страницы сайта или после перезагрузки текущей.

Доступ к cookie записям возможен на той же странице, на которой она создана только из клиентского сценария. Механизм cookie может отключаться навигатором Internet Explorer, может включаться.

Установка записи производится загрузкой файла SETCOOKIE PHP

Пример работы механизма:

<?

SETCOOKIE(“TEST”,”Привет!”); //установка записи с именем тест и значением Привет!

HEADER(“LOCATION: readcookie.PHP”); // переход к записям

?>

Сценарий вызовет другой файл PHP с которого будет прочитана cookie запись. Переход к файлам будет осуществлен.

<?

echo”Значение cookie записи с именем test”: {$_COOKIE[‘TEST’]}”; //прочитали и вывели на экран значение

?>

2 Вопрос. Сеансы php

СЕАНС – это механизм который обеспечивает доступность данных созданных на разных серверных страницах. В пределах сайта для других страниц сайта. Сеансовый механизм мощнее cookie-механизма.

Сеанс м.б создан и м.б закрыт. Во время действия сеанса все сценарии расположены на разных страницах, но подключенные к сеансу имеют доступ к переменным созданным в пределах сеанса.

Создание сеанса – создается с помощью встроенной ф-ции SESSION STAR(_) ф-ция указывается в начале каждой страницы подключаемой к сеансу. Данная ф-ци явл ф-цией пустого элемента. Ф-ция возвращает значение истина – вызов должен предшествовать потоку направляемому в окно навигатора.

При вызове сценария функции создания сеанса интепретатор PHP проверяет созданный сеанс. Если сеанс существует то его переменные устанавливаются и для данного сценария. если сеанс не создан то он создается, получает автоматически уникальный идентификатор, который присвается глобальной предопределенной переменной с именем $PHPSESSID.

Таким образом вызов функции создания сценария либо создает сеанс и подключает к нему сценарий либо подключает сценарий уже созданного сеанса.

в пределах сеанса можно устанавливать через супер глобальный массив $_SESSION сеансовые переменные, придавая значение элементам этого массива

$_SESSION [«Имя переменной»] = значение переменной;

Для получения значения созданной переменной сеанса используется обращение

$_SESSION [“имя переем”](одинарные ковычки)

Удаление сеансовой переменной производится с помощью функции UNSET ($_STSSION [“ИМЯ ПЕРЕ”]);

Все переменные сеанса хранятся на сервере в файле с именем совпадающим с идентификатором сеанса. Место хранения пользователь может определить сам.

Можно автоматизировать подключение страниц к сеансу. (автоматически добавлять вызов функции сеанса в начало каждой страницы).

Если в файле PHP. INI включить дерективу SESSION. AUTO_START = 1.

Он настраивает интепритатор на работу.

Получить идентификатор текущего сеанса можно

1. как значение переменной $PHPSESSID

2. с помощью функции SESSION .ID ()возвращает идентификатор существующего сеанса или пустую строк в противном случае.

Для принудительного закрытия сеанса служит встроенная функция SESSION_destroy ()/

Данная функция удаляет все переменные сеанса и прекаращет передачу иднтификатора сеанса.

При входе на сайт через процедуру аутентификации для каждого поситителя создается отдельный сеанс, следовательно ресурсы сайта будут уникальны для каждого посит.

Применение функции SESSION_destroy () оставляет доступными переменные текущего сеанса, их удаление производит функция unset().

Пример у него взять.