Эти функции позволяют вам управлять выводом на удаленный браузер на уровне протокола 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. Некоторые примеры:
Пример. 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.
8 8 8
| |