Хелпер 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)