Несколько файлов cookie с одинаковым именем

Я просто понял, что у меня проблема с IE, работая с одной из моих страниц. Я установил cookie с:

setcookie('page', '12345', '2000000', '/'); 

И если я вхожу в систему, я снова сброшу cookie, который снова вызовет эту функцию. В firefox все работает нормально, потому что старый cookie удален, но в IE оба cookie остаются? Как это может произойти? Разве это не так?

теперь я исправил это с помощью:

 setcookie('page', '', time() - 3600, '/'); setcookie('page', '1234', '2000000', '/'); 

Это нормально, или я чего-то не хватает?

Согласно документации , это правильный способ удалить cookie.

Просто догадка, но кажется, что значение expires довольно мало для отметки времени, поэтому файлы cookie, вероятно, истекли немедленно (т.е. на конце сеанса). Может быть, что-то вроде этого путает IE, разрешив несколько файлов cookie?

Вероятно, вы должны использовать time() вместо истечения срока действия, например:

 setcookie('page', '12345', time() + 3600, '/'); 

Кстати, ваше решение кажется мне прекрасным.

У меня такая же проблема.

Я перезагружаю свою страницу несколько раз, используя session_start () каждый раз, когда он загружается. JavaScript устанавливает файлы cookie, которые я использую в PHP. Когда клиент является Internet Explorer, $ _ENV ["HTTP_COOKIE"] содержит несколько записей для каждого файла cookie. Этого не происходит с Firefox.

Насколько я могу понять до сих пор, при выполнении кода в домене с именем xyz Internet Explorer отправляет файлы cookie для xyz, за которым следуют файлы cookie для yz PHP, затем помещает оба набора файлов cookie в $ _ENV ["HTTP_COOKIE"].

Возможно, это можно считать ошибкой PHP, возможно, нет. IMHO, это ошибка Internet Explorer. Я размещаю его здесь, надеясь, что он поможет вам решить вашу проблему.