Здравствуйте уважаемые читатели блога live-code.ru.В этой статье я
расскажу о cookie в php.HTTP-протокол,лежащий в основе интернета,не
сохраняет информацию о состоянии сеанса.Это означает,что любое обращение
клиента сервер
воспринимает как обращение нового клиента,и даже если клиент формирует
запрос для загрузки картинок с текущей страницы,сервером он
воспринимается как запрос нового клиента,никак не связанного с
тем,который только что загрузил страницу.
Данная схема достаточно хорошо работала для статических страниц,но
стала совершенно неприемлемой для динамических.В связи с этим в протокол
HTTP
были введены механизмы cookie,который в настоящий момент поддерживают
все участники итернета: клиенты,прокси-серверы и конечные серверы.
Cookies – это небольшие файлы,сохраняемые
просматриваемыми серверами на машине посетителя и содержащие текстовую
информацию о настройках пользователя,доступную для считывания создавшему
их серверу.
Дословно cookie переводится как "кекс” или "сладкий бонус”,выдаваемый
клиентам ресторана,чтобы они запомнили его и посетили вторично.Из-за
достаточно сумбурного английского названия для cookie так и не было
подобрано адекватного перевода.
Для создание cookie предназначена функция setcookie(),которая имеет следующий синтаксис:
setcookie($name [, $value [, $expire [, $path [, $domain [, $secure]]]]]
Функция setcookie принимает следующие аргументы:
- $name – имя cookie;
- $value – значение,хранящееся в cookie с именем name;
- $expire – время в секундах,прошедшее с 0 часов 00 минут 1 января 1970 года.По истечении этого времени cookie удаляется с машины клиента;
- $path – путь,по которому доступен cookie;
- $domain – домен,из которого доступен cookie;
- $secure – директива,определяющая,доступен ил файл cookie на машине клиента и FALSE – в противном случае.После того
как cookie установлен,его значение можно получить на всех страницах
Web-приложения,обращаясь к суперглобальному массиву $_COOKIE и используя
в качестве ключа имя cookie.
Так как cookie передается в заголовке HTTP-запроса,то вызов функции
setcookie() необходимо размещать до начала вывода информации в окно
браузера функциями echo(),print() и т.п.,а также до включения в файл
HTML-тегов.
Например: Подсчет количества обращений к странице
<?php
error_reporting(E_ALL & ~ E_NOTICE);
$_COOKIE['counter']++;
setcookie("counter", $_COOKIE['counter']);
echo "Вы посетили эту страницу {$_COOKIE['counter']} раз";
?>
Источник: http://live-code.ru |