Задать вопрос

PHP не может проставить хитрую Cookie

Здравствуй %username%!

Есть сайт который проставляет такую куку:
Set Cookie: Cart=1689949376348582,1,2534374306259466;


Хочу так же в своем скрипте выставить такую же куку, пишу:
setrawcookie('Cart', '1689949376348582,1,2534374306259466', 0 ,'/');


Не работает, на клиент не приходит.

Пишу:
setcookie('Cart', '1689949376348582,1,2534374306259466', 0 ,'/');


Работает, только приходит в url-закодированном виде:
Set-Cookie: Cart=1689949376348582%2C1%2C2534374306259466;


Приложение это не понимает.

Вопрос: как сделать куку с запятыми? Почему не работает setrawcookie? Всю голову уже сломал!

Server Apache/2.2.16 (Debian)
X-Powered-By PHP/5.3.6-8
  • Вопрос задан
  • 4110 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
попробуйте
header('Set Cookie: Cart=1689949376348582,1,2534374306259466;');
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Begetan
@Begetan Автор вопроса
,
Cпасибо, это работает!

Правда в моем случае еще болтается ngnix и там не все в порядке.
Ответ написан
Begetan
@Begetan Автор вопроса
Обнаружилась одна проблемка с header (Set-Cookie)

При повторном вызове команды header затирает старую установку. Решение такое:

header ("Set-Cookie: {$cookie1}", FALSE);
header ("Set-Cookie: {$cookie2}", FALSE);


Второй параметр в команде header флаг перезаписи хедера.
Может быть кому пригодится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы