Установка 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 |