Необходимо установить cookie.
Это делается с помощью функции setcookie():
setcookie('flavor' , 'chocolate chip');
Cookies посылаются вместе с HTTP-заголовками, поэтому функцию
setcookie() необходимо вызывать до того, как сформирована выходная
информация.
Для управления поведением cookies можно передать в функцию setcookie() дополнительные аргументы. Третий аргумент функции setcookie() – это время истечения срока действия в формате метки времени UNIX. Например, время действия следующего cookie истекает в
полдень GMT 3 декабря 2004 года:
setcookie('flavor' ,'chocolate chip' ,1102075200);
Если третий аргумент функции setcookie() опущен (или пустой), то
время действия cookie заканчивается в момент закрытия броузера.
Следует иметь в виду, что многие системы не могут обрабатывать время истечения срока действия, превышающее 2 147 483 647, поскольку это наибольшее значение метки времени UNIX, которую может содержать 32-битное целое число.
Четвертым аргументом функции setcookie() является путь. Cookie посылается обратно серверу только в том случае, если путь к запрашиваемым страницам начинается с указанной в аргументе строки. Так,
следующий cookie будет послан обратно на страницу, путь к которой
начинается со строки /products/:
setcookie('flavor' , 'chocolate chip' , ' ' , '/products/');
Страница, которая устанавливает этот cookie, не обязана иметь URL, начинающийся со строки /products/, но следующий cookie будет послан обратно только на страницу, удовлетворяющую этому требованию. Пятый аргумент функции etcookie() – это домен. Cookie посылается обратно серверу только в том случае, если имя хоста, с которого запрашиваются страницы, заканчивается строкой с именем указанного домена. В следующем фрагменте кода первый cookie посылается обратно всем хостам, принадлежащим домену example.com, но второй cookie посылается только в запросах к хосту jeannie.example.com:
setcookie('flavor' , 'chocolate chip' , ' ', ' ' '.example.com');
setcookie('flavor' , 'chocolate chip' , ' ', ' ', 'jeannie.example.com');
Если бы домен первого cookie был только example.com, а не .example.com, то он был бы послан только одному хосту example.com (а не www.example.com или jeannie.example.com).
Последний необязательный аргумент setcookie() – это установленный
в 1 флаг, который приказывает посылать cookie только посредством
SSL-соединения. Это может оказаться полезным, если cookie содержит
важную информацию, но помните, что на компьютере пользователя
информация cookie хранится в открытом виде.
Различные броузеры обрабатывают cookies немного по-разному, особенно в зависимости от того, как строго они подходят к строкам пути
и домена и как распределяют приоритеты между cookies с одинаковыми именами. Эти отличия хорошо разъясняются на странице помощи
по функции setcookie() оперативного руководства.
Документацию по функции setcookie() на http://www.php.net/setcookie; расширенную спецификацию cookie, подробно изложенную в RFC 2965 на http://www.faqs.org/rfcs/rfc2965.html.