Материал предоставлен https://it.rfei.ru

Установка cookie

Установка cookie в РНР осуществляется довольно просто. До передачи кода HTML нужно вызвать функцию setcookie, для чего используется следующий синтаксис (см. табл.):

setcookie(name, value, expire, path, domain, secure, httponly);

Параметры функции setcookie

Параметр Описание Пример
name Имя cookie. Это имя ваш сервер будет использовать для доступа к cookie при последующих запросах браузера username
value Значение cookie или его содержимое. Объем может составлять до 4 Кбайт буквенно-цифрового текста Hannah
expire (необязательный) Время истечения срока действия в формате метки времени Unix. Вероятнее всего, для установки этого параметра будет использоваться функция time(), к которой будет прибавляться количество секунд. Если параметр не установлен, срок действия cookie заканчивается с закрытием браузера time() + 2592000
path (необязательный) Путь к cookie на сервере. Если в качестве пути используется прямой слэш (/), cookie доступен для всего домена, например для домена www.webserver.com. Если указан подкаталог, cookie доступен только в пределах этого подкаталога. По умолчанию путь указывает на текущий каталог, где был установлен cookie, и, как правило, используется именно такая настройка /
domain (необязательный) Интернет-домен, которому принадлежит cookie. Если это webserver.com, то cookie доступен для всего домена webserver.com и его поддоменов, например www.webserver.com и для images.webserver.com. Если это images.webserver.com, то cookie доступен только для images.webserver.com и его поддоменов, например sub.images.webserver.com, но не для www.webserver.com .webserver.com
secure (необязательный) Определяет, должен ли cookie использовать безопасное подключение (https://). Если значение параметра установлено в TRUE, cookie может быть передан только по безопасному подключению. По умолчанию устанавливается значение FALSE FALSE
httponly (необязательный; реализован в РНР, начиная с версии 5.2.0) Определяет, должен ли cookie использовать протокол HTTP. Если значение параметра установлено в TRUE, то такие языки сценариев, как JavaScript, не могут получить доступ к cookie. (Это свойство поддерживается не во всех браузерах). По умолчанию устанавливается значение FALSE FALSE

Для создания cookie-файла по имени username со значением «Наnnаh», к которому имеется доступ со всего веб-сервера текущего домена и который будет удален из браузерного кэша через семь дней, используется следующая строка кода:

setcookie('username', 'Hannah', time() + 60 * 60 * 24 * 7, '/');

Использование cookie в РНРДоступ к cookie