PHP функция setcookie()
Определение и использование
Функция setcookie() отправляет HTTP cookie клиенту.
Cookie - это переменные, отправляемые сервером браузеру. Cookie обычно представляют собой pequenos archivos de texto, которые сервер嵌入 в компьютер пользователя. Каждый раз, когда компьютер запрашивает страницу через браузер, этот cookie отправляется.
Имя cookie указывается как имя переменной с таким же именем. Например, если отправляемый cookie называется "name", автоматически создается переменная $user, содержащая значение cookie.
Cookie необходимо установить до отправки любого другого вывода.
Если функция выполнена успешно, она возвращает true, в противном случае false.
Синтаксис
setcookie(name,value,expire,path,domain,secure)
Параметры | Описание |
---|---|
name | Обязательно. Определяет имя cookie. |
value | Обязательно. Определяет значение cookie. |
expire | Опционально. Определяет срок действия cookie. |
path | Опционально. Определяет серверный путь cookie. |
domain | Опционально. Определяет домен cookie. |
secure | Опционально. Определяет, следует ли передавать cookie через безопасное HTTPS-соединение. |
Подсказки и комментарии
Примечание:Значение cookie с именем "user" можно получить через $HTTP_COOKIE_VARS["user"] или $_COOKIE["user"].
Примечание:При отправке cookie, значение cookie автоматически кодируется URL. При получении оно декодируется. Если вам это не нужно, вы можете использовать setrawcookie() замена.
Пример
Пример 1
Настройка и отправка cookie:
<?php $value = "my cookie value"; // Отправка простого cookie setcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // Отправка cookie, который истекает через 24 часа setcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
Пример 2
Методы поиска значений cookie:
<html> <body> <?php // Вывод отдельного cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // Вывод всех cookie print_r($_COOKIE); ?> </body> </html>
Вывод:
my cookie value my cookie value Массив ([TestCookie] => my cookie value)
Пример 3
// Удалите cookie, установив дату истечения срока действия на прошлое дату/время:
<?php // Установите дату истечения срока действия на час назад setcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
Пример 4
Создайте массив cookie:
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); // Вывод cookie (после перезагрузки страницы) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; } } ?> <html> <body> ... ...
Вывод:
three : cookiethree two : cookietwo one : cookieone