Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Куки
 
 автор: Импекс   (13.01.2011 в 11:54)   письмо автору
 
 

Здравсвуйте!

устанавливаю куки с помошью кода внизу. а куки не отображаются с командой echo. Смотрю и в открытой страничке браузера firefox И в интструментах.


setcookie ("TestCookie", "+", time() - 3600);
echo '('.$_COOKIE["TestCookie"].')';


В чем может быть причина. Спасибо.1

  Ответить  
 
 автор: Trianon   (13.01.2011 в 12:08)   письмо автору
 
   для: Импекс   (13.01.2011 в 11:54)
 

time() - 3600

какое время Вы указываете?

  Ответить  
 
 автор: Импекс   (13.01.2011 в 12:17)   письмо автору
 
   для: Trianon   (13.01.2011 в 12:08)
 

60 минут время жизни. неверно понимаю?

  Ответить  
 
 автор: cheops   (13.01.2011 в 13:20)   письмо автору
 
   для: Импекс   (13.01.2011 в 12:17)
 

Нужно плюсовать, а не вычитать, иначе время оказывается в прошлом и надобности устанавливать куки нет.

  Ответить  
 
 автор: Саня   (13.01.2011 в 12:21)   письмо автору
 
   для: Импекс   (13.01.2011 в 11:54)
 

Для начала поймите как работает протокол HTTP. PHP-функция setcookie() отправляет кукисы браузеру. А уже на последующих запросах кукисы отправляются обратно на сервер от браузера и именно они помещаются в $_COOKIE. Поэтому нельзя устанавливать куки с сразу же читать их.

  Ответить  
 
 автор: Импекс   (13.01.2011 в 12:31)   письмо автору
 
   для: Саня   (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:42)   письмо автору
 
   для: Импекс   (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:48)   письмо автору
 
   для: Саня   (13.01.2011 в 12:42)
 

и как же мне проверить значение куки?


можно поправить пример)


допустим у браузера есть кука. отправляет серверу. сервер регестирует и при обновлении сообщает.


setcookie ("TestCookie", "+", time()  - 60*15);

if (!empty($_COOKIE["TestCookie"])) echo '('.$_COOKIE["TestCookie"].')';

  Ответить  
 
 автор: Саня   (13.01.2011 в 12:55)   письмо автору
 
   для: Импекс   (13.01.2011 в 12:48)
 

Если этот код выполняется в рамках одного HTTP-запроса, он не сработает. Только если кукис с именем "TestCookie" не был установлен ранее, при других HTTP-запросах.

  Ответить  
 
 автор: Саня   (13.01.2011 в 12:45)   письмо автору
 
   для: Импекс   (13.01.2011 в 12:31)
 

> и получается чтобы все это увидеть в окне браузера требуется обновить страничку. Верно?
Говоря дилетантским языком, — да.

  Ответить  
 
 автор: sim5   (14.01.2011 в 07:57)   письмо автору
 
   для: Импекс   (13.01.2011 в 11:54)
 

Механизм работы cookies таков - установленные cookies находятся в памяти компьютера, и записываются на диск только тогда, когда пользователь покидает браузер, либо осуществит переход. С этого момента есть существующие cookies, которые сервер может прочитать. А вот средствами JavaScript cookies можно прочесть сразу после их установки.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования