|
|
|
| Здравсвуйте!
устанавливаю куки с помошью кода внизу. а куки не отображаются с командой echo. Смотрю и в открытой страничке браузера firefox И в интструментах.
setcookie ("TestCookie", "+", time() - 3600);
echo '('.$_COOKIE["TestCookie"].')';
|
В чем может быть причина. Спасибо.1 | |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 11:54)
| |
какое время Вы указываете? | |
|
|
|
|
|
|
|
для: Trianon
(13.01.2011 в 12:08)
| | 60 минут время жизни. неверно понимаю? | |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 12:17)
| | Нужно плюсовать, а не вычитать, иначе время оказывается в прошлом и надобности устанавливать куки нет. | |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 11:54)
| | Для начала поймите как работает протокол HTTP. PHP-функция setcookie() отправляет кукисы браузеру. А уже на последующих запросах кукисы отправляются обратно на сервер от браузера и именно они помещаются в $_COOKIE. Поэтому нельзя устанавливать куки с сразу же читать их. | |
|
|
|
|
|
|
|
для: Саня
(13.01.2011 в 12:21)
| | и получается чтобы все это увидеть в окне браузера требуется обновить страничку. Верно?
или я таким вот образом echo $_COOKIES не смогу увидеть значение? Видимо не смогу)
Просто в описании функции приводиться такой вот пример:
// установить дату окончания действия на один час назад
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);
echo $TestCookie;
echo $_COOKIE["TestCookie"];
|
| |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 12:31)
| | Не помню, чтобы в описании функции приводился такой пример. Более того, они пишут:
Cookies will not become visible until the next loading of a page that the
cookie should be visible for. To test if a cookie was successfully set, check
for the cookie on a next loading page before the cookie expires.
|
| |
|
|
|
|
|
|
|
для: Саня
(13.01.2011 в 12:42)
| | и как же мне проверить значение куки?
можно поправить пример)
допустим у браузера есть кука. отправляет серверу. сервер регестирует и при обновлении сообщает.
setcookie ("TestCookie", "+", time() - 60*15);
if (!empty($_COOKIE["TestCookie"])) echo '('.$_COOKIE["TestCookie"].')';
|
| |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 12:48)
| | Если этот код выполняется в рамках одного HTTP-запроса, он не сработает. Только если кукис с именем "TestCookie" не был установлен ранее, при других HTTP-запросах. | |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 12:31)
| | > и получается чтобы все это увидеть в окне браузера требуется обновить страничку. Верно?
Говоря дилетантским языком, — да. | |
|
|
|
|
|
|
|
для: Импекс
(13.01.2011 в 11:54)
| | Механизм работы cookies таков - установленные cookies находятся в памяти компьютера, и записываются на диск только тогда, когда пользователь покидает браузер, либо осуществит переход. С этого момента есть существующие cookies, которые сервер может прочитать. А вот средствами JavaScript cookies можно прочесть сразу после их установки. | |
|
|
|