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