Учебник по основам PHP. PHPBeginner


Использование интерфейса HTTP - часть 3


setcookie

Посылка cookie /

int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure])

Функция посылает переменную cookie в заголовке HTTP. Все аргументы, кроме имени name, необязательны (если какие-то указывать не требуется, то тогда их значением может быть пустая строка "" для строковых аргументов и 0 для числовых). Если у браузера уже имелся cookie с таким именем, он будет заменен новым.

В аргументе value можно указать значение, которое необходимо сохранить. Время, до которого браузер должен хранить у себя cookie, указывается в аргументе expire (в формате Unix time, возвращаемом функциями time() или mktirae()). Если в аргументе secure указывается ненулевое значение, то cookie будет передаваться в зашифрованном виде через протокол HTTPS.

В аргументах path и domain можно указать, страницам из каких каталогов какого домена необходимо возвращать значения cookies.

Следующие примеры устанавливают cookies:

setcookie ("TestCookiel". "Test Value"):
setcookie ("TestCooHeZ1 , $value.fime()+3GOO);
/* устаревает через час */ setcookie
("TestCook'eS". $value.time()+3600.
"/-rasmus/". " utoronto.ca". 1):

Удалить cookies из примера выше можно следующим образом:

setcookie ("TestCookiel"):
// set the expiration date to one hour ago
setcookie ("TestCookie2". "". timeO - 3600):
// время уже прошло
setcookie ("TestCookleS". "". timeO - 3600.
"/-nasmus/". " utoronto.ca". 1);

Можно сохранять в одном cookie одномерный массив (но устанавливать значение каждого элемента нужно по отдельности):

setcookie ("cookie[three]".
"cookie_three").
setcookie ("cookie[two]".
"cookie_two"): , setcookie
("coohe[one]". "cookie_one").
// проверим получение на
следующей странице ]
if (isset (Scookie)) { while
(list ($name. Svalue) = each ($cookie))
{ I echo "Sname == $vatue<br>\n": } }

Документацию Netscape, описывающую cookies, можно найти по адресу: http://www.netscape.com/newsref/std/cookie_spec.html

Microsoft Internet Explorer 4 (c Service Pack 1) некорректно работает с cookies, имеющими установленный третий параметр. Netscape Communicator 4.05 и Microsoft Internet Explorer 3.x некорректно работают с cookies с не установленными третьим и четвертым параметрами.




Начало  Назад  Вперед



Книжный магазин