Пример простого приложения с cookies

Давайте создадим простой сценарий, подсчитывающий при помощи cookies количество обращений посетителя к странице.

В cookie с именем counter будет храниться число посещений страницы пользователем:

<? $counter++; setcookie("counter",$counter); echo("Вы посетили эту страницу $counter раз");?>

Результат выполнения сценария на рис.:

При работе с cookies необходимо учитывать важный момент, заключающийся в том, что cookie надо обязательно устанавливать перед отправкой в броузер каких-либо заголовков, поскольку сами cookies устанавливаются в виде заголовков. Поэтому если установить cookies после какого-либо текста, отправляемого в броузер, то возникнет ошибочная ситуация.

Рассмотрим этот вопрос подробнее, для чего модифицируем код, приведенный в листинге, поместив перед установкой cookie текст:

Если здесь поместить текст, то возникнет ошибка, так как будет послан заголовок Content-type: text/html. <? $counter++; setcookie("counter",$counter); echo("Вы посетили эту страницу $counter раз");?>

Как видно из рис., при выполнении этого сценария выводится сообщение об ошибке:

Заметим, что в этих листингах мы обращаемся к переменной $counter, в которой хранится значение cookie, как к глобальной, что требует наличия включенной директивы register_globals. Если эта директива отключена, то значение, хранящееся в cookie можно получить через глобальный массив $_COOKIE["name"]:

<? $_COOKIE['counter']++; setcookie("counter",$_COOKIE['counter']); echo 'Вы посетили эту страницу '.$_COOKIE['counter'].' раз';?>

Поскольку некоторые пользователи отключают cookie в настройках своих браузеров, для корректной работы, в приложение, использующее cookies, необходимо помещать код, проверяющий включены ли cookies у посетителя, и, если нет, то сообщающий ему о необходимости включить cookie:

<? if(!$cookie) { /* посылаем заголовок переадресации на страницу, с которой будет предпринята попытка установить cookie */ header("Location: $PHP_SELF?cookie=1"); /* устанавливаем cookie с именем "test" */ setcookie("test","1"); } else { if(!$test) { echo("Для корректной работы приложения необходимо включить cookies"); } else { /* cookie включены, переходим на нужную страницу */ header("Location: http://localhost/test1.php"); } }?>







Дата добавления: 2016-03-04; просмотров: 631;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.