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

Разное

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

 

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

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

тема: Денвер и COOKIE
 
 автор: Владимир55   (13.11.2010 в 12:15)   письмо автору
 
 

Скрипт производит проверку того, что в браузере пользователя включены COOKIE. На сервере это работает, а на Денвере выводится сообщение о том, что COOKIE не включены (настройки браузера не меняются).

Полазив по сети, я убедился, что эта проблема возникает и у других людей и что в ее основе лежит какое-то фундаментальное свойство Денвера. Но так и не понял, есть ли решение?

  Ответить  
 
 автор: sim5   (13.11.2010 в 12:25)   письмо автору
 
   для: Владимир55   (13.11.2010 в 12:15)
 

Денвер не может никак знать, включены куки у пользователя или нет, как впрочем и сервер.

  Ответить  
 
 автор: Loki   (13.11.2010 в 12:41)   письмо автору
 
   для: sim5   (13.11.2010 в 12:25)
 

Ну почему же - если они пришли в запросе, то логично предположить что куки включены:)

  Ответить  
 
 автор: sim5   (13.11.2010 в 13:29)   письмо автору
 
   для: Loki   (13.11.2010 в 12:41)
 

А если неполучение их связано с ошибкой в программе на стороне сервера, значит тоже логично предположить, что они выключены? )

  Ответить  
 
 автор: Loki   (13.11.2010 в 16:06)   письмо автору
 
   для: sim5   (13.11.2010 в 13:29)
 

Всемирная конференция археологов.
Встает немец и говорит: "Наши археологи произвели раскопки на глубину 10 метров и нашли медь. Это доказывает то, что 100 лет назад в Германии была телефонная связь!"...В зале аплодисменты...
Встает американец и говорит: "Наши археологи произвели раскопки на глубину 50 метров и нашли стекло. Это свидетельствует о том, что 500 лет назад на территории Америки была оптоволоконная связь!"
...Поднимается русский и говорит: "Наши археологи произвели раскопки на глубину 100 метров и ничего не нашли!!! Это говорит о том, что 1000 лет назад на территории России была сотовая связь!!!"

  Ответить  
 
 автор: sim5   (13.11.2010 в 17:06)   письмо автору
 
   для: Loki   (13.11.2010 в 16:06)
 

Анекдот старый, аргумент невеский. )

  Ответить  
 
 автор: Trianon   (13.11.2010 в 17:16)   письмо автору
 
   для: sim5   (13.11.2010 в 17:06)
 

Я бы сказал, аргумент в свои ворота.

Откоровенно говоря, я тоже не понял, с чего это "сервер никак не может. "
Понятно, что с некоторой вероятностью, но ведь для нужд практических - достаточой?

PS. Анекдот не слышал :)

  Ответить  
 
 автор: sim5   (13.11.2010 в 18:15)   письмо автору
 
   для: Trianon   (13.11.2010 в 17:16)
 

Если на вопросы касающиеся кук в разделе РНР (особенно последнее время), суть которых так или иначе "не работает кука....", давать однозначный ответ означающий, что у пользователя отключен этот механиз, обосновывая это постулатом Loki-Trianon, то тогда кранты... ))

  Ответить  
 
 автор: Trianon   (13.11.2010 в 20:12)   письмо автору
 
   для: sim5   (13.11.2010 в 18:15)
 

>Если на вопросы касающиеся кук в разделе РНР (особенно последнее время), суть которых так или иначе "не работает кука....",

Передергивать не надо, да?

>>Скрипт производит проверку того, что в браузере пользователя включены COOKIE

Тут, по-моему, вполне конкретно очерчен круг интересов данной темы?


>давать однозначный ответ означающий, что у пользователя отключен этот механиз,
обосновывая это постулатом Loki-Trianon, то тогда кранты... ))

давать ответы на идиотские непродуманные вопросы я никогда не призывал, более того, я пытавюсь делать многое, чтобы таковые вопросы ответов не находили.
Loki, надо думать, несколько менее категоричен, но в целом, как я заметил, придерживается той же тактики.

Так что не стоит.

  Ответить  
 
 автор: sim5   (13.11.2010 в 20:24)   письмо автору
 
   для: Trianon   (13.11.2010 в 20:12)
 

Неполученная кука, все таки еще не означает, что этот механизм у пользователя отключен, эта причина может служить только предположением, но никак не утверждением.

  Ответить  
 
 автор: Trianon   (13.11.2010 в 21:13)   письмо автору
 
   для: sim5   (13.11.2010 в 20:24)
 

Выставленная, но неполученная кука означает, наколько мне известно, что
а) кука запрежена браузером
и/или
б) кука запрещена прокси.
Оба объекта на совести пользователя.


Вы можете добавить еще варианты?

  Ответить  
 
 автор: sim5   (13.11.2010 в 22:03)   письмо автору
 
   для: Trianon   (13.11.2010 в 21:13)
 

Выставленная корректно и неполученная, еще согласен.

  Ответить  
 
 автор: Trianon   (13.11.2010 в 23:03)   письмо автору
 
   для: sim5   (13.11.2010 в 22:03)
 

У меня сложилось стойкое ощущение по этому нашему диалогу, что один из нас казуист, а другой - демагог.

  Ответить  
 
 автор: Trianon   (13.11.2010 в 13:07)   письмо автору
 
   для: Владимир55   (13.11.2010 в 12:15)
 

...сам профессор скрипт в драке не участвует...

  Ответить  
 
 автор: Владимир55   (13.11.2010 в 13:23)   письмо автору
 
   для: Trianon   (13.11.2010 в 13:07)
 

В сети люди пишут, что причина кроется в неких свойствах locallhost. И в понятии "домен первого уровня", коим оперирует Денвер.

Кому-то удалось решить проблему, но вместо подробного сообщения о произведенных действиях, прочесть можно только "Ура, заработало!".

Интересно, у Гуру не возникает описанной проблемы?

  Ответить  
 
 автор: Trianon   (13.11.2010 в 13:31)   письмо автору
 
   для: Владимир55   (13.11.2010 в 13:23)
 

Может быть мэтр всё же соблаговолит привести скрипт?
Он ведь не на два экрана, должно быть?


Меж тем, денвер заточен для тестирования при полной доменно-именной прозрачности.
Он же имена доменов в /etc/hosts вписывает?
Зачем в таком разе localhost насиловать?


"Люди в сети" это отдельный мем.

  Ответить  
 
 автор: Владимир55   (13.11.2010 в 14:03)   письмо автору
 
   для: Trianon   (13.11.2010 в 13:31)
 

Я устанавливаю так:
<?php
setcookie
("metka"time (), time () + 2500000);


При переходе на следующую страницу проверяю так:
<?php
if(!isset($_COOKIE['metka']))  // Кукисы выключены


Ну, и другие делают схожим образом, сообщая о той же проблеме:
http://forum.dklab.ru/s/denwer-4/base-1/35407/

  Ответить  
 
 автор: neadekvat   (13.11.2010 в 14:28)   письмо автору
 
   для: Владимир55   (13.11.2010 в 14:03)
 

А как вы отличаете пользователь без кукисов, которые уже были на вашем сайта, от тех, кто зашел первый раз?

  Ответить  
 
 автор: Trianon   (13.11.2010 в 14:42)   письмо автору
 
   для: Владимир55   (13.11.2010 в 14:03)
 

Там тоже пишут, что подобного рода функциональность стоит проверять не в
localhost ( Z:/home/localhost/www ),
а в более доменном имени, к примеру
mysite.net ( Z:/home/mysite.net/www )

  Ответить  
 
 автор: Владимир55   (13.11.2010 в 14:58)   письмо автору
 
   для: Trianon   (13.11.2010 в 14:42)
 

Как Вы справедливо заметили, ""Люди в сети" это отдельный мем". В том смысле, что это ничего не дает. По крайней мере, у меня не заработало.

  Ответить  
 
 автор: Trianon   (13.11.2010 в 15:21)   письмо автору
 
   для: Владимир55   (13.11.2010 в 14:58)
 

<?php

    
if(!isset($_GET['test']) )
    {
        
$f microtime(1);
        
setcookie("metka"$ftime () + 2500000);
        
header("Location: ?test=$f");
        exit();
    }
    
$a = @$_COOKIE['metka'];
    
$t $_GET['test'];
    echo 
"Cookie test: ";
    if(
$a === null) echo "off";
    else if(
$a == $t)
        echo 
"OK (test=cookie=$a)";
    else
        echo 
"BAD (test=$t cookie=$a)";

?>


что пишет?

И что пишет, если в setcookie() явным образом указывать домен?

  Ответить  
 
 автор: Владимир55   (13.11.2010 в 15:45)   письмо автору
 
   для: Trianon   (13.11.2010 в 15:21)
 

Пишет:
Cookie test: OK (test=cookie=1289651997.73)

Домен носит имя primer. Я его явным образом не указывал - разместил Ваш код как он есть.

Похоже, что проблема у меня в чем-то другом. Спасибо!

  Ответить  
 
 автор: Trianon   (13.11.2010 в 15:51)   письмо автору
 
   для: Владимир55   (13.11.2010 в 15:45)
 

время-то как бежит...

  Ответить  
 
 автор: Commander   (13.11.2010 в 18:59)   письмо автору
 
   для: Владимир55   (13.11.2010 в 14:03)
 

Ну, и другие делают схожим образом, сообщая о той же проблеме:
http://forum.dklab.ru/s/denwer-4/base-1/35407/


Чушь в этой теме написана. Говорят, что куки для доменов первого уровня не ставятся. У меня практически все проекты в доменах "первого уровня" (на локальном сервере), везде куки ставятся без проблем.

  Ответить  
 
 автор: Commander   (13.11.2010 в 18:49)   письмо автору
 
   для: Владимир55   (13.11.2010 в 12:15)
 

Денвер, не-Денвер, на куки это в принципе влиять не может. Сервер (Денвер, грубо говоря) может только послать браузеру заголовок, мол, поставь куки. Если тот поставил, а скрипт этого не видит - значит скрипт неправильный и делает неправильный мед, прошу прощения, куки. Судя по Вашему скрипту, Вы не выставляете путь, по которому куки должен быть доступен.

P.S. Кстати, тему надо было запостить в ?id_forum=1, а не в форуме "Разное"

  Ответить  
Rambler's Top100
вверх

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