Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка на поддержку Кукисов
 
 автор: Елена Смирнова   (21.04.2008 в 17:50)   письмо автору
 
 

Скажите, как узнать включены(поддерживает) браузер кукисы или нет?

   
 
 автор: Atheist   (21.04.2008 в 17:55)   письмо автору
 
   для: Елена Смирнова   (21.04.2008 в 17:50)
 

На определенной странице устанавливать cookie и перенаправлять на страницу с другим адресом. Там проверять получена ли cookie.

А в какой ситуации это понадобилось? Просто если сессии, то при отсутствии cookie нужно передавать SID в адресе и отправлять cookie. В дальнейшем, если cookie получена, то уже SID в адресе не нужен.

   
 
 автор: Елена Смирнова   (21.04.2008 в 17:59)   письмо автору
 
   для: Atheist   (21.04.2008 в 17:55)
 


<?
// Вначале счетчик равен нулю
$count 0;
// Если в Cookies что-то есть, берем счетчик оттуда
if (!isset($_COOKIE['count']))
  {
    
$count++;
// Записываем в Cookies новое значение счетчика
setcookie('count'$count0x7FFFFFFF"/");
    echo 
'Вы первый раз на этой странице<br/>';
  }
else
  {
    
$count $_COOKIE['count'];
    
$count++;
// Записываем в Cookies новое значение счетчика
setcookie('count'$count0x7FFFFFFF"/");
// Выводим счетчик
echo 'Вы здесь '.$_COOKIE['count'].'-й раз<br/>';
  }
?>

Если кукисы выключены или не поддерживаются, то всегда пишется:
Вы первый раз на этой странице
Мне нужно, если кукисы не поддерживаются или не включены, то вообще ничего не писать

   
 
 автор: Atheist   (21.04.2008 в 18:03)   письмо автору
 
   для: Елена Смирнова   (21.04.2008 в 17:59)
 

> 0x7FFFFFFF
Вообще-то тут должен быть не IP в integer, а домен, либо IP, записанный в виде строки (но тогда и в адресной строке то же должно быть).

   
 
 автор: Елена Смирнова   (21.04.2008 в 18:07)   письмо автору
 
   для: Atheist   (21.04.2008 в 18:03)
 

Учту... но у меня и так работает

   
 
 автор: Atheist   (21.04.2008 в 18:15)   письмо автору
 
   для: Елена Смирнова   (21.04.2008 в 18:07)
 

Возможно, в таком случае это просто игнорируется.

> Мне нужно, если кукисы не поддерживаются или не включены, то вообще ничего не писать

<?php
if( isset($_GET['c']) && !isset($_COOKIE['count']) )
{
    exit; 
// Нет поддержки
}

if( !isset(
$_COOKIE['count']) )
{
    
setcookie('count'1);

    
header('Location: http://' $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?c');

    exit;
}

setcookie('count'$_COOKIE['count'] + 1);

if( 
$_COOKIE['count'] == )
{
    echo 
'Вы первый раз на этой странице<br />';
}
else
{
    echo 
'Вы здесь ' $_COOKIE['count'] . '-й раз<br />'
}
?>

   
 
 автор: Елена Смирнова   (22.04.2008 в 17:08)   письмо автору
 
   для: Atheist   (21.04.2008 в 18:15)
 

Спасибо! А как сделать чтобы кукисы хранились вечно? если время не указано они будут храниться вечно?

   
 
 автор: Andy™   (22.04.2008 в 18:05)   письмо автору
 
   для: Елена Смирнова   (22.04.2008 в 17:08)
 

Если время не указано, куки будут хранится только на продолжении текущей сессии работы браузера.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования