- •Лабораторный практикум №2 Модуль 6. Работа с файловой системой Режимы работы с файлами
- •Функции работы с файлами
- •Пример работы с файлом
- •Загрузка файла на сервер. Пример.
- •Функции для работы с каталогами
- •Задания к модулю 6
- •Модуль 7. Cookies и сессии php Работа с cookies (печеньками)
- •Работа с сессиями
- •Задания к модулю 7
Модуль 7. Cookies и сессии php Работа с cookies (печеньками)
Cookie – это текстовые строки, которое могут быть сохранены на компьютере клиента и затем передаются веб-серверу при каждом обращении к нему. Например, при авторизации на сайте и установки галочки «запомнить меня», вас запоминают в куках браузера. При повторном добавлении комментария, такие параметры как имя, электронный адрес уже введены – это тоже работа cookies.
Управляет куками удаленный сервер, то есть он может их читать, изменять, добавлять. Для хранения используется компьютер пользователя. Запрашивая страницу, браузер отправляет веб-серверу короткий текст с HTTP-запросом. Например, для доступа к странице http://www.example.org/index.html, браузер отправляет на сервер www.example.org следующий запрос:
GET /index.html HTTP/1.1
Host: www.example.org
Сервер отвечает, отправляя запрашиваемую страницу вместе с текстом, содержащим HTTP-ответ. Там может содержаться указание браузеру сохранить куки:
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
(содержимое страницы)
Строка Set-cookie отправляется лишь тогда, когда сервер желает, чтобы браузер сохранил куки. В этом случае, если куки поддерживаются браузерами их приём включён, браузер запоминает строку name=value (имя = значение) и отправляет её обратно серверу с каждым последующим запросом. Например, при запросе страницы http://www.example.org/spec.html браузер пошлёт серверу www.example.org следующий
запрос:
GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: name=value
Accept: */*
Этот запрос отличается от первого запроса тем, что содержит строку, которую сервер отправил браузеру ранее. Таким образом, сервер узнает, что этот запрос связан с
предыдущим. Сервер отвечает, отправляя запрашиваемую страницу и, возможно, добавив
новые куки.
Для установки значения cookie в PHP используется функция setcookie:
bool setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
Параметры функции:
name – имя куки (только латинские буквы, цифры, символ подчеркивания и дефис)
value – значение куки
expire – срок действия куки. Если задан, то кука удаляется по истечению этого строка, в противном случае – после закрытия окна браузера. Указывается в формате timestamp. Timespamp - это число секунд, прошедших с 00:00:00 1 января, 1970 года.
path – путь, который определяет, в какой части домена может использоваться данный файл (/ - означает доступность в пределах всего домена).
domain – домен, для которого доступен cookie
secure - указание, что данные cookie должны передаваться только через безопасное соединение HTTPS.
Cookie – часть заголовка HTTP-запроса, который отправляется браузеру, поэтому их значения должны быть установлены до начала формирования HTML-кода, это означает, что вызов setcookie должен быть расположен до любых HTML-тегов и до любого оператора echo.
Сразу после установки, значение куки не будет доступно скрипту до тех пор, пока страница не будет перезагружена. Это происходит потому, что куки хранятся на компьютере пользователя и отправляются на веб-сервер браузером при запросе очередной страницы.
Для получения доступа к cookie используется суперглобальный массив $_COOKIE.
Перед использованием cookie рекомендуется удостовериться в ее существовании с использованием функции isset.
Пример: массивы и cookie:
Для удаления куки необходимо вызвать функцию setcookie с пустым параметром value. Поскольку куки удаляется браузером, для их гарантированного удаления рекомендуется задавать истекший период действия куки.
