PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

Проверка приема Cookies

Проверяем, принимает ли браузер пользователя Cookies

Чтобы увидеть, принимает ли браузер пользователя Cookies, вам нужно выполнить два шага Браузер клиента должен сделать два запроса, поскольку браузер устанавливает Cookie, только когда он получает ответ от первого запроса.

Вы можете обслуживать оба запроса с одним сценарием, но будьте осторожны, чтобы не «загнать» браузер в бесконечный цикл. Идея заключается в следующем: если cookie не установлена, то нужно установить ее и перезагрузить страницу. Но нужно выполнить перезагрузку страницы только один раз. Ведь если браузер не примет Cookies, то сценарий будет пытаться перезагружать страницу снова и снова и есть риск возникновения бесконечного цикла.

Рассмотрим следующий маленький сценарий. Первым делом мы проверяем, установлены ли Cookies. Если так, то браузер поддерживает Cookies и нам больше нечего делать:

<?php
if  (isset($_COOKIE["test"]))   { 
print "Cookies включены.";
}
Если Cookie не существует, тому есть две причины. Первая - браузер не принимает Cookies. Но мы не будем это точно знать, пока второй раз не загрузим страницу, поэтому нам ее нужно перезагрузить. Мы посылаем GET-параметр testing при втором доступе. Если параметр существует, a Cookies - нет, тогда Cookies отключены:
<pre>
else {
if  (isset($_REQUEST["testing"]))   { 
print "Cookies отключены."
Однако если и Cookie, и параметр testing не существуют, то это первый доступ к странице, поэтому нам нужно установить cookie и перезагрузить страницу в этот раз. Параметр testing используется для предотвращения бесконечного цикла.
} else {
setcookie("test",  "1",  0,  "/");
header ("Location:  $_SERVER[PHP__SELF] ?testing=l") ;
} }
?>
Очень важно не забыть включить параметр testing, если вы его проигнорируете, страница будет перезагружаться бесконечно, если браузер не поддерживает Cookies.

Этот сценарий не очень понятен, но он настолько маленький, что как только вы его поймете, то у вас больше не будет проблем с Cookies.

 
Предыдущая   На главную   Следующая          

Виктор   12.04.2011 в 21:25
Допустим, пришел робот на страничку news.php?page=2

мы его перенаправляем на страничку
news.php?page=2&cookie=1

и она попадает в индекс

затем пользователи идут из поиска к нам по этой ссылке
news.php?page=2&cookie=1

а мы делаем вывод, что куки отключены!

vad   23.09.2011 в 16:14
test

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru