- Содержание
-
header
-
setcookie
Эти функции позволяют вам управлять ывводом на удаленный браузер на уровне
протокола HTTP.
header
header -- послать необработанный заголовок HTTP
Описание
int header(string string);
Функция Header() используется в начале
HTML-файла для отправки строки HTTP
заголовка. Смотри
HTTP 1.1
Specification для более подробной информации о заголовках HTTP.
Замечание: Помните, что функция
Header() должна быть вызвана перед любыми
другими операциями вывода, описанными стандартными тэгами HTML или PHP. Наиболее
общие ошибки в коде - применение
include() с
auto_prepend и пробелами или пустыми строками, которые инициируеют вывод до
вызова header().
Header("Location: http://www.php.net"); /* Редирект браузера на сайт PHP */
exit; /* Код, следующий ниже, не будет исполняться после редиректа. */
PHP-скрипты часто генерируют динамический HTML, который не следует кешировать на
клиентском браузере или прокси-сервере. Многие прокси и клиенты можно заставить
отключить кеш:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Прошедшая дата
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); // всегда
модифицировать
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
setcookie
setcookie -- послать кук
Описание
int setcookie(string name, string value, int expire, string path,
string domain, int secure);
SetCookie() определяет кук, который
будет послан вместе с остальной информацией из заголовка. Все аргументы,
исключая name опциональны. Если присутствует только аргумент
name, кук с указанным именем будет удален с клиента. Вы также можете
представить любой из аргументов пустой строкой, с целью пропуска оного ("").
Параметры expire и secure являются
целочисленными и ен могут быть заменены пустыми строками. Для этой цели
используют (0). Аргумент expire - это стандартное время
Unix, возвращаемое функциями
time() или
mktime(). secure
показывает, что кук следует передавать только по защищенному соединению HTTPS.
Некоторые примеры:
|
Пример 1. SetCookie
SetCookie("TestCookie","Test Value");
SetCookie("TestCookie",$value,time()+3600); /* истекает через час */
SetCookie("TestCookie",$value,time()+3600,"/~rasmus/",".utoronto.ca",1);
|
Заметим, что значимые части кука при посылке будут автоматически урл-кодированы,
тогда как при приеме кука - автоматически декодированы и присвоены переменным с
соответствующими именами. Для просмотра содержания тестового кука в скрипте,
просто:
echo $TestCookie;
Для получения более подробной информации о куках, смотрите спецификацию Netscape
по
http://www.netscape.com/newsref/std/cookie_spec.html.
Microsoft Internet Explorer 4 с Service Pack 1 могут некорректно работать с
куками, где установлен параметр path.
Назад, к содержанию
|