Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кукопроверка

1.8K
17 ноября 2004 года
globaledgege
43 / / 10.11.2002
Народ, подскажите. Хочу проверить включены ли куки в браузере клиента или нет.


setcookie("test","1");
If ($_COOKIE['test']==1) {
echo "Включены";
}
else {
echo "Выключены";
}

Мне все время пишет что выключены, хотя в реальной жизни все наоборот. Проверял под IE6 и Мозиллой.

На PHP.NET при обсуждении функции setcookie возникла бурная дискуссия. Я не совсем ее понял. Народ там пишет, про политику Майкрософт P3P и что прежде чем проверять возможность установки куки, необходимо на сервер отправить некий заголовок. Зачем? И как вообще решить проблему с проверками кук на включенность или выключенность?
4.3K
18 ноября 2004 года
Slastik
34 / / 03.04.2004
У меня куки включены
При первой загрузке выдает что куки выключены, а при перезагрузке выдает что куки включены, и при всех дальнейших перезагрузках тоже что включены.

в чем дело сказать затрудняюсь :)

Вот так.

У меня ИЕ 6.0
4
18 ноября 2004 года
mike
3.7K / / 01.10.2002
Проблема в том что вы не понимаете принципа работы Cookies.

setcookie добавляет в HTTP заголовок строку устанавливающую Cookies. Броузер анализирует ее и сохраняет значение у себя. При последующем обращении к вашим страницам он добавляет в HTTP заголовок информацию о Cookie.

Другими словами, Cookies нельзя проверять в тот момент когда вы обращаетесь. Можно проверить только при последующих обращениях.

См: [phpdoc]setcookie[/phpdoc], [phpdoc]header[/phpdoc], RFC2065
1.8K
18 ноября 2004 года
globaledgege
43 / / 10.11.2002
Цитата:
Originally posted by mike
Проблема в том что вы не понимаете принципа работы Cookies.



Согласен. Именно поэтому я и задал этот вопрос.

Окей. Тогда простой пример. Допустим, юзер пришел на страницу моего сайта и передо мной стоит задачка узнать включены ли у него куки.

Получается... Я не могу этого сделать без refresh страницы?

Я прошу прощения за тупые вопросы, но я действительно хочу НАУЧИТЬСЯ, а не пофлудить в форуме.

4
18 ноября 2004 года
mike
3.7K / / 01.10.2002
Или две страницы, или JavaScript.
1.8K
18 ноября 2004 года
globaledgege
43 / / 10.11.2002
Цитата:
Originally posted by mike
Или две страницы, или JavaScript.



Спасибо, Майк. Эту тему я вроде догнал. Расскажи, пожалуйста, что такое P3P header и нужен ли он? Может можно обойтись простым setcookie?

4
18 ноября 2004 года
mike
3.7K / / 01.10.2002
P3P header нужен, например, если ты устанавливаешь Cookie с картинки, а сервер, на котором лежит картинка не совпадает с сервером, на которой лежит сама страница.

Обрати внимаение, на этой странице, в MSIE, есть глаз со знаком "кирпич". Это как раз из-за того, что некоторые картинки загружены без P3P
1.8K
19 ноября 2004 года
globaledgege
43 / / 10.11.2002
Хорошо. Это тоже вполне понятно.

Майк, подскажи, пожалуйста, как можно с помощью cookie распознать на сайте уникального посетителя? Пресловутая перезагрузка страницы не дает осуществить те планы, которые были задуманы.

От java script для определения кук хотелось бы отказаться...
4
19 ноября 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by globaledgege
Хорошо. Это тоже вполне понятно.

Майк, подскажи, пожалуйста, как можно с помощью cookie распознать на сайте уникального посетителя? Пресловутая перезагрузка страницы не дает осуществить те планы, которые были задуманы.

От java script для определения кук хотелось бы отказаться...



Без JavaScript или промежуточных страниц никак.

1.8K
01 декабря 2004 года
globaledgege
43 / / 10.11.2002
Цитата:
Originally posted by mike


Без JavaScript или промежуточных страниц никак.



Майк, а так можно?

<?

session_start();

if (!isset($_SESSION['temp_session']))
{
$_SESSION['temp_session']="123456789";
setcookie("test","1");
header("Location: http://xxxx.ru/xxxx/xxx.php']");
}
else
{

unset($_SESSION["temp_session"]);
session_destroy();

if(!$_COOKIE['test'])
{
echo("Cookies выключены");
}
else
{
echo("Cookies включены");
}

}

?>

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог