setcookie IE6, Opera

Тема в разделе "PHP", создана пользователем fafee, 29 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. fafee

    fafee Постоялец

    Регистр.:
    4 окт 2008
    Сообщения:
    92
    Симпатии:
    0
    Доброе утро. Есть задача, показать что-то на сайте, скажем, раз в час.
    Делаю так,
    PHP:
    <? setcookie("TestCookie""ON"time()+3600);  /* expire in 1 hour */ ?>
    и затем,

    PHP:
     <? if (!$_COOKIE["TestCookie"]) { ?>

    <!--здесь то, что показываем-->
       
         <? } ?>
    Работает в IE7, Mozilla, Safari
    Не работает в IE6, Opera

    В чем может быть проблема?...
     
  2. antidote

    antidote

    Регистр.:
    21 янв 2008
    Сообщения:
    167
    Симпатии:
    42
    ответ Danny Lin 19-Feb-2005 11:37
    У рабочей машины и сервера может быть разный часовой пояс, соответственно срок действия куки истекает еще до его установки.
     
  3. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    antidote,глупостей не говори. куки выставляются по времени GMT, которое независит от часового пояса пользователя
    fafee, session_start() сделал?
    вообще, куками пользуешся правильно, согласно документации?
    лично я выставляю куки, через суперглобальный массив $_COOKIE, и не знал до сих пор проблем
     
  4. AGONOM

    AGONOM Создатель

    Регистр.:
    17 апр 2009
    Сообщения:
    10
    Симпатии:
    3
    Надо попробовать:
    Код:
    print_r(apache_request_headers());
    print_r(apache_response_headers());
    print_r(($_COOKIE));
    
    чтобы понимать что в действительности происходит.
    Интересно посмотреть на заголовки Set-Cookie и Cookie.
    В комментах к http://php.net/setcookie пишут, что в случае с IE expire не работает.
    Возможы разночнения в доменах, тогда стоит перебрать .example.com, example.com, www.example.com и т.д.
     
    SimpleWarrior нравится это.
Статус темы:
Закрыта.