Во время тестирования некоторых сценариев я заметил, что если время истечения мало (не равно нулю) - cookie не доступны в Chrome, Opera, IE.
Пример:
<?php
// setting cookie for 5 minutes
setcookie( 'cookie1' , 'Test', time()+60*5 );
echo $_COOKIE['cookie1'];
// yeap (it should display it only with refresh of page - I know:)
?>
В Firefox - я вижу слово Test (после открытия и обновления страницы).
Но в другом браузере - этого не вижу.Например, если я изменил время на time()+60*100
- оно отлично работает во всех браузерах.
В чем причина этого?
UPD:
Из Chome Dev Tool (извините, не знаю, как называется Chrome firebug):
Date:Sun, 22 May 2011 10:29:59 GMT
Keep-Alive:timeout=15, max=99
Server:Apache/2.2.14 (Ubuntu)
Set-Cookie:Maslo123=Test; expires=Sun, 22-May-2011 10:34:59 GMT
Дата раньше, чем истекает;