CodeIgniter, руководство пользователя к версии 1.6.1


Хелпер Cookie

Хелпер Cookie содержит функции, которые помогают работать с cookie.

Загрузка хелпера

Для загрузки хелпера используется следующий код:

$this->load->helper('cookie');

Доступны следующие функции:

set_cookie()

Записывает в cookie указанные значения. Есть два способа передать параметры данной функции: массивом и отдельными параметрами:

Передача массивом

В данном случае первым параметром передаётся ассоциативный массив:

$cookie = array(
                   'name'   => 'Имя Cookie',
                   'value'  => 'Значение',
                   'expire' => '86500',
                   'domain' => '.some-domain.com',
                   'path'   => '/',
                   'prefix' => 'myprefix_',
               );

set_cookie($cookie);

Примечания:

Обязательны только имя и значение.

Время жизни указывается в секундах относительно текущего времени. Не указывайте абсолютное значение. Используйте значение в секундах относительно текущего времени. Если указан 0 — cookie будет доступен до закрытия браузера.

Для удаления cookie укажите пустое значение.

Для использования cookie вне зависимости от адреса, по которому был загружен сайт, добавьте URL к домену начиная с точки, например как: .your-domain.com

Путь чаще всего не требуется т.к. в функции определен путь до корня.

Префикс требуется только если вам необходимо избежать коллизии имен с другими cookie со сходными именами того же сервера.

Передача отдельными параметрами

Если вы предпочитаете, вы можете установить cookie путем указания отдельных параметров:

set_cookie($name, $value, $expire, $domain, $path, $prefix);

get_cookie()

Позволяет вам получить установленный cookie. Первый парметр задает имя cookie:

get_cookie('some_cookie');

Функция возвращает FALSE если элемент, который вы хотите получить не существует.

Второй необязательный параметр позволяет обработать данные фильтром XSS. Для его использования укажите вторым параметром TRUE;

get_cookie('some_cookie', TRUE);

delete_cookie()

Позволяет удалить cookie. Если при создании вы не указывали свой путь или другие параметры, требуется только имя cookie:

delete_cookie("name");

Данная функция похожа на set_cookie(), но не позволяет указать значение и время жизни. Вы можете передать массив значений первым параметром, либо использовать отдельные параметры.

delete_cookie($name, $domain, $path, $prefix)