PHP функция setrawcookie()

Определение и использование

Функция setrawcookie() не URL-кодирует значение cookie и отправляет HTTP cookie.

Cookie - это переменные, отправляемые сервером браузеру. Cookie обычно представляют собой kleine Textdatei, встроенную сервером в компьютер пользователя. Каждый раз, когда компьютер через браузер запрашивает страницу, этот 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"].

Примечание:setrawcookie() и setcookie() Почти полностью одинаково, разница в том, что значение cookie не автоматически URL-кодируется при отправке клиенту.

Пример

Пример 1

Установка и отправка cookie:

<?php
$value = "my cookie value";
// Отправка простого cookie
setrawcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// Отправка cookie, который истекает через 24 часа
setrawcookie("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
// Установите дату истечения срока действия на час назад
setrawcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

Пример 4

Создайте массив cookie:

<?php
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("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