setcookie (PHP 3, PHP 4 >= 4.0.0) setcookie -- Посылает cookieОписаниеint setcookie (string name [, string
value [, int
expire [, string
path [, string
domain [, int
secure]]]]])
setcookie() определяет cookie, посылаемую наряду с
другой информации в HTML заголовке. Cookies
должны быть посланы до отправления
других заголовков (это особенность cookies, а
не PHP). Поэтому эта функция должна быть вызвана до каких-либо тегов. Все аргументы, за исключением name, необязательны. Если указан только
аргумент имени, то cookie будет уничтожена удаленным клиентом. Но вы также можете послать
любые аргументы с пустой строкой
(""), чтобы пропустить параметр. Аргументы expire и secure являются целыми числами и не могут быть
пропущены пустой строкой. Используйте
вместо этого ноль (0). Аргумент expire - регулярное время Unix, выраженное целым
числом, подобно значению, возвращенному функциями
time() или mktime().
secure показывает, что cookie должна быть передана
через защищенное HTTPS соединение.
Особенности:
Cookies не станут "видимыми" до
загрузки следующей страницы, считывающей
значение этих cookie.
Cookies должны быть удалены с теми же
параметрами, с которыми они были
установлены.
В PHP 3 многократный вызов setcookie() в одном скрипте был представлен в
обратном порядке. Если вы пытались удалить
одну cookie до установки другой, вы должны были
сначала установить cookie, а затем удалить. В PHP
4 многократный вызов
setcookie() представлен в прямом порядке.
Несколько примеров, чтобы показать
установку cookie:
Пример 1. setcookie() setcookie ("TestCookie", "Test Value");
setcookie ("TestCookie", $value,time()+3600);
/* строка выше - действие истекает через 1 час */
setcookie("TestCookie", $value, time()+3600,
"/~rasmus/", ".utoronto.ca",1); |
|
Примеры, показывающие, как удалять cookies (вытекают
из предыдущего примера):
Example 2. setcookie() delete examples setcookie ("TestCookie");
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600,
"/~rasmus/", ".utoronto.ca", 1); |
|
Когда вы удаляете cookie, вы должны быть
уверены, что срок действия указывает на
прошедшее время. Это необходимо для запуска
механизма удаления данной cookie в броузере
пользователя.Заметьте, что в момент передачи cookie часть
её значения будет автоматически
закодировано, а в момент приема оно будет
автоматически раскодировано и имя cookie
будет назначено переменной. Чтобы
убедиться в этом, используйте следующий
пример:
echo $TestCookie;
echo $HTTP_COOKIE_VARS["TestCookie"]; |
Вы также можете посылать массив cookies,
используя указание массива в имени
cookie. Это подобно эффекту установки
множества cookies, но когда скрипт принимает
такую cookie, её значения будут помещены в
массив с именем cookie:
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");
if (isset ($cookie)) {
while (list ($name, $value) = each ($cookie)) {
echo "$name == $value
\n";
}
} |
<-Назад
Список всех функций Если вы заметили ошибку, неточность, либо хотите опубликовть свой перевод неуказанных в разделе функций, пожалуйста, напишите по этому адресу.
|