Как сделать куки

Обновлено: 03.07.2024

Сookies или куки – это данные в виде пар ключ=значение, которые хранятся в файлах на компьютере пользователя.

Для хранимых данных существуют несколько ограничений:

  • Одна пара запись не должна занимать более 4Кб.
  • Общее количество кук на один домен ограничивается примерно 20.

В старых браузерах navigator.cookieEnabled может быть неопределенным.

Max-age и Expires

max-age устанавливает время жизни куки в секундах, а параметр expires задает непосредственно дату окончания в формате RFC-822 или RFC-1123 ( Mon, 03 Jul 2021 10:00:00 GMT ).

Следующие примеры устанавливают куки name=user сроком на один месяц:

Как правило, в качестве пути указывают корень сайта path=/ , чтобы куки были доступны на всем сайте.

Domain

Параметр указывает домен, на котором будут доступны куки, включая поддомены.

Secure

Чтение кук не совсем удобное, в JS нет нативного метода, который получит значение по ключу. Объект document.cookie возвращает все установленные значения в виде строки, например:

Удаление данных происходит путём установки новой куки с параметром max-age=-1 или expires с прошедшей датой.

Просмотр, редактирование и удаление кук доступно в браузерах, в панелях для разработчиков:

Google Chrome

Mozilla Firefox

В примере выполняется сохранение выбранного пункта селекта на нескольких страницах:

Работа с cookie в PHP

Cookie - это набор данных, который создаётся Web-сервером и который отсылается при каждом обращении к серверу. Cookie хранятся в браузере пользователя. Как правило, cookie используется для: сохранения различных настроек, уникальных для пользователя, аутентификации пользователя, различной статистики и других подобных вещей. И о работе с cookie в PHP мы и поговорим в этой статье.

Начнём с простейших вещей: с записи cookie в браузер пользователя. Для этого существует функция setcookie():

После запуска скрипта, Вы сможете посмотреть cookie. Посмотреть их можно следующим образом: либо поискать в настройках браузера, либо поискать прямо на жёстком диске, где хранятся cookie Вашего браузера, либо (самый простой способ) ввести в адресной строке: "javascript:document.cookie". Только вводите в той же вкладке, в которой Вы запускали скрипт, потому что браузеры отделяют cookie одного сайта от другого.

Теперь встаёт вопрос: "Как вывести cookie?". Выводятся они с помощью массива $_COOKIE:

В результате, Вы увидите "Value". Как видите всё элементарно.

И давайте сейчас с Вами решим такую задачу: если пользователь авторизован на сайте, то поздороваться с ним, иначе вывести форму входа. Причём, если данные, введённые в форму, неправильные, то вывести соответствующее предупреждение. Реализация выглядит следующим образом:

";
$string . ;
$string . ;
$string . ;
$string . ;
$string . ;
$string . ;
$string . ;
$string . ;
return $string;
>
function check($login, $pass) if (($login == "Admin") && ($pass == md5("123456"))) return true;
else return false;
>
if (isset($_POST['log'])) $login = $_POST['login'];
$pass = md5($_POST['pass']);
if (check($login, $pass)) setcookie("login", $login);
setcookie("pass", $pass);
>
else echo "Неверные данные";
>
?>





Для правильной работы Lync Web App включите в браузере файлы cookie. Чтобы узнать, как это сделать, выберите в списке нужный браузер.

Браузер

Internet Explorer

Выберите Пуск > Панель управления.

Совет: В классическом представлении Windows XP выберите Пуск > Настройка > Панель управления.

Дважды щелкните Свойства обозревателя.

Выберите Конфиденциальность > Дополнительно.

В диалоговом окне Дополнительные параметры конфиденциальности установите флажок Переопределить автоматическую обработку куки-файлов.

В разделе Основные куки-файлы выберите параметр Принимать или Запрашивать.

В разделе Посторонние куки-файлы выберите параметр Принимать или Запрашивать.

Mozilla Firefox

Если вы используете операционную систему Windows, в окне Firefox выберите Инструменты > Настройки.

Совет: Если вы используете операционную систему Mac OS, откройте раскрывающийся список Firefox и выберите пункт Настройки.

Выберите вкладку Приватность.

В раскрывающемся списке Firefox: выберите пункт будет использовать ваши настройки хранения истории.

Установите флажок Принимать куки с сайтов.

Установите флажок Принимать куки со сторонних сайтов и нажмите кнопку ОК.

Safari

Если вы используете операционную систему Windows, нажмите Сервис > Настройки.

Совет: Если вы используете операционную систему Mac OS, в меню Safari выберите пункт Настройки.

В диалоговом окне выберите вкладку Конфиденциальность.

В разделе Блокировать файлы cookie выберите параметр Никогда.

Chrome

На панели инструментов щелкните значок гаечного ключа.

Выберите Настройки > Показать дополнительные настройки.

В разделе Личные данные нажмите кнопку Настройки контента.

В разделе Файлы cookie выберите Разрешать сохранение локальных данных (рекомендуется).

Наверное, стоит начать с того, что же такое куки и для чего они нужны. Cookie – это фрагмент данных, который можно сохранить на стороне пользователя и использовать в последующем для реализации своих идей.

Представим, что на вашем сайте есть возможность выбрать цветовую схему сайта. Очень удобно это реализовать на куки, так как выбранная им тема будет видна только ему.

Cookie существуют как в PHP, так и в jQuery. Поэтому рассмотрим каждый случай более подробно.

Подробная инструкция по работе с Cookie на jQuery

1. Установка Cookie

Теперь мы можем попробовать создать наш первый куки:

Здесь не все параметры являются обязательными и для того, чтобы задать куки, вполне хватит этой конструкции:

2. Получение Cookie

Получить куки довольно просто, сделать это можно с помощью кода:

Данный код можно присвоить к переменной и использовать в своих нуждах:

Согласитесь, это весьма удобно.

3. Удаление Cookie

На этом, я думаю, знакомство с работой с Cookie на jQuery закончено. Этих знаний вполне хватит для реализации ваших идей.

Подробная инструкция по работе с Cookie на PHP

В отличие от предыдущего варианта работы с куки, здесь не нужно ничего подключать.

1. Установка Cookie

Здесь также не все параметры являются обязательными, и для создания куки вам хватит такой конструкции:

Для удобства значение куки можно задать через переменную:

2. Получение Cookie

Для того чтобы получить куки, вам необходимо воспользоваться:

Чтобы исключить появление ошибок из-за возможного отсутствия куки, воспользуйтесь проверкой его существования:

Как и в предыдущем примере работы с Cookie на jQuery, куки можно присвоить к переменной:

3. Удаление Cookie

Удаление куки на PHP выполняется так же просто, как и в jQuery. Все, что вам нужно сделать, это задать пустое значение куки и отрицательное время (время, которое уже прошло):

Время в данном примере равняется часу назад, чего вполне хватит для удаления куки.

Хочется отметить, что в некоторых случаях использование куки куда рациональнее использования базы данных для реализации необходимого функционала.

Читайте также: