Не работает setcookie и время жизни

Тема в разделе "Как сделать...", создана пользователем SkiLLer, 4 окт 2012.

Статус темы:
Закрыта.
  1. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Здравствуйте. Столкнулся вот с такой проблемой при установке кук: при использовании времени жизни функция setcookie ставит куку только для FF, если же не использовать время жизни, вместо этого поставить false, кука ставится для сессии во всех браузерах. Подозреваю, что это может быть связано с настройками сервера, потому как локально кука ставится всем и как надо. Подскажите, плз, куда копать. Спасибо.
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Skiller приведите ваш пример полностью. Возможно, вы ставите куку на очень малое время. В результате кука удаляется самостоятельно. Еще помню в прошлом у меня был глюк, что при установке куки кука была доступна после обновления страницы или при переходе на следующую. Может быть это ваш случай.
     
  3. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    PHP:
    $this->_basket json_decode($_COOKIE['_basket'],true);
    if(empty(
    $paths[1]) || $paths[1] == '1'$paths[1] = '0';
    $this->_basket[$paths[0]][$paths[1]]['count']++;
    $cook json_encode($this->_basket);
    setcookie("_basket",$cook,time()+(3600*24*10),'/'); //кука ставиться на 10 дней
    header"Location: ".$_SERVER['HTTP_REFERER'] );
    Вот пример кода, когда ставится кука, локально и на другом сервере работает, на нужном - нет
     
  4. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Что хранится в параметре $cook перед созданием куки?
    Не отличаются ли сайты, где работает и не работает скрипт русскоязычкным назнванием домена или урлом ?
     
  5. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    урлом отличается, в $cook хранится json строка, а домен отличается только локально *.loc, а рабочий - *.ru, не думаю, что это проблема

    Отвечу сам себе. Разобрался с проблемой.... Спасибо за участие. Оказалось на сервере время отставало более чем на 2 года :) поэтому кука сразу же ставилась устарелой.

    Добавлено latteo: Удалены бредовые версии - оставленны похожие на правду и решение:)
     
    latteo нравится это.
Статус темы:
Закрыта.