HTML, Excel, Word, SEOОсновы PHP ⇒ Cookies

PHP для "чайников"

Инструменты
Выбираем IDE
Выбираем Web-сервер
Выбираем СУБД
Структура языка PHP
Первый шаг
Синтаксис
Типы данных
Переменные и константы
Операторы
Выражения
Управляющие структуры
Функции
Классы
Исключения
Ошибки
Массивы
Глобальные массивы
Cookies
Сессии
Загрузка файлов
Работа с файлами
Работа с файлами на диске
Работа с данными в файле
Пример управления файлами
Работа с базами данных
Подключение
Анализ результатов
Выполнение запросов
Отключение
Пример: отслеживание пользователей
Работа в сети
Отправка почты
Безопасность
HTTP-аутентификация
Защита логином и паролем
Автоматизация
Регулярные выражения в PHP
Интеграция
PHP и JavaScript

 

Cookies


Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

Cookies (в простонародье - "кукисы") переводится как "печенье". История появления этого термина теряется у истоков ОС Unix. Сookies представляет собой специальный механизм, посредством которого сервер может разместить какие-либо данные на клиенте. При следующем обращении к серверу браузер автоматически передаст ему соответствующие cookies. Этот механизм используется для "запоминания" пользователей на сайтах, для хранения текущего состояния сайта для конкретного пользователя и некоторых других задач. Cookies могуть использоваться не только серверными, но и клиентскими скриптами (например, написанными на JavaScript).


Физически cookie представляет собой обычный текстовый файл, содержащий данные в структурированном виде. Эти файлы обычно располагаются в каталоге браузера или каталогах для хранения временных файлов Интернет. Но копаться вручную не придётся. В кадом браузере есть средство просмотра и управления cookies.


В PHP создать и отправить cookie позволяют функции setcookie() и setrawcookie(). Обе функции идентичны по своему назначению, но параметры функции setcookie() предварительно автоматически кодируются в URL-формат.

Пользоваться этими функциями очень просто:

<?php

    setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);

?>

Функция setcookie() должна быть вызвана до того, как первые данные были отправлены в браузер (например, до первой команды echo или print). В противном случае cookie установлен не будет, а сервер выдаст предупреждение или ошибку. Рассмотрим подробнее каждый из параметров:

name Имя cookie может быть любым, но длинных имён лучше всё-таки избегать
value В качестве значения выступают любые данные в текстовой форме, которые надо сохранить на стороне клиента.
expire Параметр expire определяет дату и время, по истечении которых cookie будет считаться устаревшим и не будет отсылаться серверу. Параметр представляет собой Unix-timestamp, т.е. количнство секунд прошедшее с дня рождения Unix (1 января 1970 года).
path Путь на сервере, для которого будет доступен данный cookie. Если установить значение '/', то cookie будет доступен в любой точке сервера и в любом скрипте.
domain Имя домена, для которого устанавливается cookie. Например, если cookie должен быть доступен только для поддоментов домена mysite.ru, то необходимо указать '.mysite.ru'. Если органичивать доступ по имени домена нет нужды - оставьте пустую строку.
secure Флаг определяет, должен ли cookie передаваться только по безопасному подключению (https). По-умолчанию - false.
httponly Флаг определяет, будет ли cookie доступен как-либо, кроме протокола HTTP (например, из JavaScript).По-умолчанию флаг имеет значение false и доступно только в версии PHP 5.2 и выше.

Например, сохранить строки на клиенте можно так:

<?php

    setcookie($name, $value, $expire, 
		$path, $domain, $secure, $httponly);

?>

Следует помнить, что общий объём одного cookie не может превышать 64 Кб. Кроме того, многие браузеры уменьшают этот лимит до нескольких килобайт или отключают приём cookies вовсе.



В начало страницы



В начало страницы