Установка и чтение cookies с помощью jQuery и PHP. Использование куки из jQuery

Для Windows Phone 13.05.2019
Для Windows Phone

Куки позволяют хранить полезную информацию о пользователе, чтобы предоставлять ему отличный сервис на вашем сайте. С ними можно работать также и в jQuery. В данном уроке мы рассмотрим, как можно использовать jQuery и куки для хранения некоторых установок пользователя, чтобы затем использовать их при отображении специфического контента.

Начнем

Мы собираемся сделать панель с несколькими метками. Каждый раз когда происходит нажатие на метке, она выделяется цветом и значение, соответствующее метке сохраняется в куки на вашем компьютере с помощью браузера. Затем вы можете использовать две кнопки для вывода текущего значения, хранящегося в куки, или для удаления куки.

Кроме того, обратите внимание на демо страницу во время первой загрузки. Ни одна из меток не выделена. А после того, как вы выберете одну, можно обновить демо страницу, и метка, выделенная вами останется выделенной. Если вы удалите куки, то выделение снимется с метки. А после перезагрузки все метки останутся без выделений. Теперь рассмотрим, как это работает.

Управление куки с помощью jQuery

Мы собираемся использовать jQuery для управления куками, для чего будет задействован плагин, который предназначен для работы с хранилищем куки. Название у плагина говорит само за себя - Cookie.

Плагин Cookie можно загрузить из раздела проектов сайта плагинов jQuery.

Cookie — простой плагин, только с одной функцией Cookie() . С помощью данной функции происходит сохранение, получение и удаление значений куки на компьютере клиента.

Разметка

После подключения библиотеки jQuery мы подключаем плагин jquery.cookie.js в наш HTML код. Затем подключаем файл JavaScript, который содержит код работы с куками (можно также включить текст скрипта в HTML код с помощью тега .

Код HTML выглядит очень просто:

  • Базовая
  • Стандартная
  • Расширенная
Показать куки Удалить куки

Мы создаём три метки, пару ссылок и поле для вывода состояния куки. Содержание CSS файла не относится к теме урока и используется только для выделения выбранной метки с помощью класса .selected . Поэтому перейдём сразу к коду JavaScript.

Создаём куки

Итак, первое, что нужно сделать, добавить обычный код для выполнения нашего скрипта после того, как документ готов:

JQuery(document).ready(function(){ //Код скрипта размещается здесь)};

Теперь инициализируем пару переменных, которые будут использоваться далее в нашем коде. Это имя куки и опции для функции cookie : время жизни куки и путь, который добавляется к адресу страницы. Возможны также и другие аргументы, но в нашем уроке мы будем использовать только эти два:

Var cookieName = "level"; var cookieOptions = {expires: 7, path: "/"};

Затем нужно проверить наличие значения в нашем куки. Если его нет, то переходим дальше. Но если значение в куки есть, то нужно установить класс .selected для метки, которая имеет ID, сохранённый в куки. Мы используем функцию cookie с единственным параметром, который является именем куки, значение которого нам нужно получить.:

$("#" + $.cookie(cookieName)).addClass("selected");

Теперь мы создаём обработчик события нажатия кнопки мыши. Функция preventDefault() является стандартной процедурой jQuery для предотвращения перехода браузера по ссылке, когда на ней нажимают кнопку мыши. Когда пользователь нажимает кнопку мыши на метке (которая в действительности является ссылкой), мы удаляем класс .selected с метки, которая выделена в текущий момент и устанавливаем его для только что выбранной.

$(".htabs a").click(function(e){e.preventDefault(); $("#" + $.cookie(cookieName)).removeClass("selected");

Пришла пора создать куки и ей назначить значение. Первый аргумент — это имя куки, в нашем примере level , а второй аргумент — это значение, которое будет присвоено куки. Также мы передаём в функцию опции.

Теперь добавим класс .selected к метке:

$("#" + $.cookie(cookieName)).addClass("selected");});

Получение и вывод значения куки

Теперь нужно вывести значение куки. Все что нужно сделать — это вызвать функцию cookie только с одним параметром, который является именем куки, значение которого нам нужно. Когда происходит нажатие на кнопку #showCookie , мы записываем текущее значение куки в поле #verbose .

$("#showCookie").click(function(e){ e.preventDefault(); $("#verbose").val("Cookie value is " + $.cookie(cookieName) + "."); });

Удаление куки

Теперь нужно разобраться с удалением куки. Итак, когда пользователь нажимает кнопку #deleteCookie , мы выводим в поле #verbose сообщение о том, что куки удалено. Затем удаляем класс .selected с текущей выделенной метки.

$("#deleteCookie").click(function(e){ e.preventDefault(); $("#verbose").val("Cookie "level" with value \"" + $.cookie(cookieName) + "\" removed."); $("#" + $.cookie(cookieName)).removeClass("selected");

В заключение, мы удаляем куки. Это очень интересный момент. Код выглядит следующим образом:

$.cookie(cookieName, null, {path:"/"});

И все. Рассмотрим третий аргумент функции. Если посмотреть в код плагина jquery.cookie.js , то обнаружится, что при значении второго аргумента null переменной expires в массиве options присваивается значение -1:

If (value === null) { value = ""; options.expires = -1;}

Поэтому, если мы передадим cookieOptions в качестве третьего аргумента, например, так:

$.cookie(cookieName, $(this).attr("id"), cookieOptions);

то работа нашего кода нарушится, так как cookieOptions.expires примет значение -1, что полностью соответствует логике работы плагина.

А если задано негативное значение (т.е. дата в прошлом), куки будет удалено.

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

Веб-браузеры могут генерировать уникальные сессии, предназначенные для каждого пользователя на сайте. Зачастую этот процесс реализован во внутреннем интерфейсе при помощи таких языков как PHP или Ruby, но мы также можем использовать cookie-сессии на внешнем интерфейсе при помощи javascript. Существует множество руководств, в которых рассказывается о том, как генерировать чистые JS-cookie. Но новая jQuery-библиотека Cookies в значительной степени упрощает процесс.

Позвольте нам рассказать, как при помощи можно реализовать очень простую систему аутентификации. Весь код будет представлен на внешнем интерфейсе, но для того, чтобы увидеть результаты работы, вам понадобится live-сервер для тестирования. Браузерные cookies будут создавать на локальный IP, предложенный веб-сервером, а это значит, что к сожалению вы не сможете запускать эти скрипты локально. Не забудьте ознакомиться с live-демо, чтобы понять, о чем пойдет речь.

Внимание! У вас нет прав для просмотра скрытого текста.

Основа документа

Для начала мы создадим примерный HTML5-документ с единственной ссылкой на библиотеку jQuery, а также с функцией jQuery Cookies. Вы можете скачать их напрямую , и единственный файл, который нам понадобится, это jquery.cookie.js.






Managing Cookies with jQuery - Live Demo







Руководство будет сосредоточено на создании двух разных представлений для страницы. Сначала у нас будет форма авторизации, которая будет отображаться при отсутствии cookie. Используя стандартные значения demo/demo, вы можете авторизоваться при помощи формы, и она сохранит вашу сессию в cookie.

Очевидно, если подключить скрипт к базе данных, у вас будет возможность обслуживать большое число логинов. Это значит, что при помощи единственного скрипта вы сможете авторизовать множество людей, и при этом хранить их логины или ID в локальных cookie. Данный пример представляет лишь стартовую точку, где нам не нужны Ajax-запросы или скрипты на стороне сервера для авторизации пользователей.

Содержимое внутреннего элемента

Первый div – это оболочка, в которой содержится вся страница. Здесь предусмотрена форма с ID #loginform, которая отображается первой. Она будет скрыта посредством jQuery только в том случае, если посетитель на данный момент авторизован в демо-аккаунт с использованием cookie-сессии.



Basic Cookie Management

Login to the demo account with the following username/password: demo/demo


Username:

Password:




You are logged in as demo! The cookie is set to expire in 1 day from the original login.

Want to logout? Easy!

Logout Now





Вы наверное заметили, что в HTML после формы авторизации есть еще один div с id #logindetails. Ее мы скрыли при помощи CSS-стилей, так как нам нужно, чтобы она отображалась пользователю только в том случае, если он авторизован. Внутренний HTML-код статичен, и всегда отображает имя пользователя demo. Но при работе с базой данных, вы можете обновлять этот параметр на любое имя пользователя посредством javascript.

CSS-стили не так уж и запутаны, но было бы неплохо вдаться в некоторые подробности. Мы создали глянцевую CSS3-кнопку, воспользовавшись советами из руководства . Эти стили довольно развернутые, и их следует сохранить для повторного использования и в других проектах.

/** form elements **/
form label { font-size: 1.1em; line-height: 1.25em; font-weight: bold; margin-bottom: 5px; }

form input.basic {
display: block;
outline: none;
font-size: 1.5em;
color: #525252;
width: 300px;
padding: 10px 8px 10px 8px;
margin-bottom: 7px;
border: 1px solid #888;
border-radius: 5px;
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
-moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
}

#logindetails {
display: none;
}
Мы также изменили стандартные элементы ввода таким образом, чтобы они лучше сочетались со страницей. Контейнер с деталями логина обозначен свойством display: none, так что он не займет места на сгенерированной странице. Тем не менее, он по прежнему составляет активную часть DOM, и это значит, что мы можем управлять значением display при помощи jQuery. Теперь давайте взглянем в данный jQuery-код, расположенный на дне страницы, сразу перед закрывающим тегом body.

Cookies в jQuery

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

$(function(){
if($.cookie("username")) {
$("#loginform").hide();
$("#logindetails").show();
}
Несомненно, бывают и более хорошие способы управления этой формой при помощи языков внутренних интерфейсов, но в нашем демо и jQuery отлично справляется. Запуская выражение if напротив $.cookie(‘username’), мы проверяем, существует ли cookie “username”. Если да, то нам известно, что пользователь на данный момент авторизован в свой аккаунт, поэтому мы скрываем форму авторизации и показываем информацию о логине. В противном случае ничего не происходит, и мы просто наблюдаем страницу с формой авторизации.

$("#loginform").submit(function(e){
e.preventDefault();
var inputuname = $("#username").val();
var inputpass = $("#password").val();

If(inputuname == "demo" && inputpass == "demo") {
// successful validation and create cookie
$.cookie("username", "demo", { expires: 1 });
var currentusr = $.cookie("username");
window.location.reload();
}
});

$("#logoutbtn").on("click", function(e){
e.preventDefault();
if($.removeCookie("username")) {
$("#logoutcontainer").html("Successfully logged out! Refreshing the page now...");
window.setTimeout("location.reload()", 2000); // refresh after 2 sec
}
});
});
Мы скомбинировали эти две функции в единый блок кода, так как они очень похожи между собой. Как только пользователь делает попытку авторизоваться в аккаунт, мы проверяем, совпадает ли username/password с “demo”. Если да, то мы запускаем $.cookie(‘username’, ‘demo’, { expires: 1 });, куда включено несколько опций.

Сначала мы назначаем имя cookie “username”, по которому мы сможем проверять значение. Строка “demo” – это значение cookie, но важно помнить, что мы можем ввести любое имя пользователя или даже id, если в ином случае этот метод будет подходить больше. Наконец, последний параметр – это коллекция опций, которая устанавливает количество дней до истечения действия cookie. Если мы опустим опцию истечения, тогда cookie будут удаляться сразу же, как только пользователь закрывает браузер. Это также упоминается в сессии cookie, и ниже мы привели простой пример, прокомментированный внизу скрипта.

Второй блок кода отслеживает клики пользователя по ссылке #logoutbtn. Очевидно, что ссылка на выход будет отображаться только в том случае, если пользователь на данный момент авторизован. Эта функция будет терминировать сессию, запуская $.removeCookie(‘username’) внутри выражения if. Так что, если мы можем удалить cookie, то затем нам нужно убрать кнопку выхода и показать сообщение об успешном совершении действия, и представить форму авторизации.

В завершение

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

Куки позволяют хранить полезную информацию о пользователе, чтобы предоставлять ему отличный сервис на вашем сайте. С ними можно работать также и в jQuery. В данном уроке мы рассмотрим, как можно использовать jQuery и куки для хранения некоторых установок пользователя, чтобы затем использовать их при отображении специфического контента.

Начнем

Мы собираемся сделать панель с несколькими метками. Каждый раз когда происходит нажатие на метке, она выделяется цветом и значение, соответствующее метке сохраняется в куки на вашем компьютере с помощью браузера. Затем вы можете использовать две кнопки для вывода текущего значения, хранящегося в куки, или для удаления куки.

Кроме того, обратите внимание на демо страницу во время первой загрузки. Ни одна из меток не выделена. А после того, как вы выберете одну, можно обновить демо страницу, и метка, выделенная вами останется выделенной. Если вы удалите куки, то выделение снимется с метки. А после перезагрузки все метки останутся без выделений. Теперь рассмотрим, как это работает.

Управление куки с помощью jQuery

Мы собираемся использовать jQuery для управления куками, для чего будет задействован плагин, который предназначен для работы с хранилищем куки. Название у плагина говорит само за себя - Cookie.

Плагин Cookie можно загрузить из раздела проектов сайта плагинов jQuery.

Cookie — простой плагин, только с одной функцией Cookie() . С помощью данной функции происходит сохранение, получение и удаление значений куки на компьютере клиента.

Разметка

После подключения библиотеки jQuery мы подключаем плагин jquery.cookie.js в наш HTML код. Затем подключаем файл JavaScript, который содержит код работы с куками (можно также включить текст скрипта в HTML код с помощью тега .

Код HTML выглядит очень просто:

  • Базовая
  • Стандартная
  • Расширенная
Показать куки Удалить куки

Мы создаём три метки, пару ссылок и поле для вывода состояния куки. Содержание CSS файла не относится к теме урока и используется только для выделения выбранной метки с помощью класса .selected . Поэтому перейдём сразу к коду JavaScript.

Создаём куки

Итак, первое, что нужно сделать, добавить обычный код для выполнения нашего скрипта после того, как документ готов:

JQuery(document).ready(function(){ //Код скрипта размещается здесь)};

Теперь инициализируем пару переменных, которые будут использоваться далее в нашем коде. Это имя куки и опции для функции cookie : время жизни куки и путь, который добавляется к адресу страницы. Возможны также и другие аргументы, но в нашем уроке мы будем использовать только эти два:

Var cookieName = "level"; var cookieOptions = {expires: 7, path: "/"};

Затем нужно проверить наличие значения в нашем куки. Если его нет, то переходим дальше. Но если значение в куки есть, то нужно установить класс .selected для метки, которая имеет ID, сохранённый в куки. Мы используем функцию cookie с единственным параметром, который является именем куки, значение которого нам нужно получить.:

$("#" + $.cookie(cookieName)).addClass("selected");

Теперь мы создаём обработчик события нажатия кнопки мыши. Функция preventDefault() является стандартной процедурой jQuery для предотвращения перехода браузера по ссылке, когда на ней нажимают кнопку мыши. Когда пользователь нажимает кнопку мыши на метке (которая в действительности является ссылкой), мы удаляем класс .selected с метки, которая выделена в текущий момент и устанавливаем его для только что выбранной.

$(".htabs a").click(function(e){e.preventDefault(); $("#" + $.cookie(cookieName)).removeClass("selected");

Пришла пора создать куки и ей назначить значение. Первый аргумент — это имя куки, в нашем примере level , а второй аргумент — это значение, которое будет присвоено куки. Также мы передаём в функцию опции.

Теперь добавим класс .selected к метке:

$("#" + $.cookie(cookieName)).addClass("selected");});

Получение и вывод значения куки

Теперь нужно вывести значение куки. Все что нужно сделать — это вызвать функцию cookie только с одним параметром, который является именем куки, значение которого нам нужно. Когда происходит нажатие на кнопку #showCookie , мы записываем текущее значение куки в поле #verbose .

$("#showCookie").click(function(e){ e.preventDefault(); $("#verbose").val("Cookie value is " + $.cookie(cookieName) + "."); });

Удаление куки

Теперь нужно разобраться с удалением куки. Итак, когда пользователь нажимает кнопку #deleteCookie , мы выводим в поле #verbose сообщение о том, что куки удалено. Затем удаляем класс .selected с текущей выделенной метки.

$("#deleteCookie").click(function(e){ e.preventDefault(); $("#verbose").val("Cookie "level" with value \"" + $.cookie(cookieName) + "\" removed."); $("#" + $.cookie(cookieName)).removeClass("selected");

В заключение, мы удаляем куки. Это очень интересный момент. Код выглядит следующим образом:

$.cookie(cookieName, null, {path:"/"});

И все. Рассмотрим третий аргумент функции. Если посмотреть в код плагина jquery.cookie.js , то обнаружится, что при значении второго аргумента null переменной expires в массиве options присваивается значение -1:

If (value === null) { value = ""; options.expires = -1;}

Поэтому, если мы передадим cookieOptions в качестве третьего аргумента, например, так:

$.cookie(cookieName, $(this).attr("id"), cookieOptions);

то работа нашего кода нарушится, так как cookieOptions.expires примет значение -1, что полностью соответствует логике работы плагина.

А если задано негативное значение (т.е. дата в прошлом), куки будет удалено.

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

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Бесплатный курс "Сайт на WordPress"

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

*Наведите курсор мыши для приостановки прокрутки.

Назад Вперед

Установка и чтение cookies с помощью jQuery и PHP

HTTP - протокол, не имеющий "памяти", то есть каждый запрос, приходящий к серверу рассматривается как отдельный, никак не связанный с другими запросами. Именно поэтому он не может хранить данные сам по себе. Однако эта простота была также и одной из причин его быстрого и широкого распространения в ранние годы развития сети Интернет.

Есть, однако возможность сохранять информацию между запросами. Делается это с помощью Cookies. С их помощью можно эффективно управлять сессиями и сохранять необходимые данные.

Есть два способа работы с Cookies - на стороне сервера (PHP, ASP и т.д.), и на стороне клиента (браузера) - JavaScript. В данной небольшой статье мы посмотрим, как создаются и читаются данные из Cookies как в PHP, так и с помощью .

Cookies и PHP

Создание cookies

Для создания cookies в PHP нужно воспользоваться функцией setcookie(). Она принимает ряд параметров (все, за исключением первого параметра необязательны, и могут быть опущены):

Setcookie("pageVisits", // Имя cookie, обязательный параметр $visited, // The value of the cookie time()+7*24*60*60, // Время, на которое устанавливается cookie - на неделю вперед "/", //Путь к папке, для которой будет доступен cookie "сайт" //Домен, к которому будет привязан файл cookie);

Если передать значение "0" в качестве параметра для срока истечения действия cookie (это значение по умолчанию), - cookie будет уничтожаться при перезапуске браузера. Параметр "/" означает, что cookie будет доступен для всех подпапок на данном домене (в случае необходимости вы можете "привязать" cookie к какой-то отдельной директории, скажем, передав параметр наподобие "/admin/").

Есть еще два дополнительных параметра для данной функции, которые мы не отметили. Они определяются булевыми значениями. Первый из них определяет, будет ли cookie передаваться только по безопасному протоколу HTTPS, а второй - то, что cookie не будут доступны через JavaScript (введено в PHP 5.2).

Для большинства практических задач вполне хватит первых четырех параметров, остальные же обычно можно опустить.

Считывание (чтение) cookies

Считывание cookie средствами PHP намного проще. Все cookie, преданные скрипту, доступны через суперглобальный массив $_COOKIE. В нашем случае, чтобы считать значение из cookie, мы должны написать следующее:

$visits = (int)$_COOKIE["pageVisits"]+1; echo "Вы посетили этот сайт: ".$visits." times";

Сейчас самое время отметить, что cookies, установленные с помощью функции setcookie() становятся доступны через массив $_COOKIE при следующей загрузке страницы.

Удаление cookies

Для удаления cookies используется та же функция setcookie(), которой в данном случае нужно передать в качестве параметра, определяющего "время жизни" cookie любое время из прошлого.

Setcookie("pageVisits", $visited, time()-7*24*60*60, // Неделя назад. Файл cookie будет удален "/", "сайт");

Cookies и jQuery

Для использования cookies с JQuery вам понадобится специальный плагин cookie .

Создание cookies

Создание cookies с помощью плагина достаточно интуитивно понятное:

$(document).ready(function(){ // Установка cookie kittens, исчезнет после перезапуска браузера: $.cookie("kittens","Seven Kittens"); // Установка demoCookie (как в демо): $.cookie("demoCookie",text,{expires: 7, path: "/", domain: "сайт"}); // "text" - переменная, в которую сохраняется значение cookie });

Считывание (чтение) cookies

Считывание еще проще. Нужно просто вызвать функцию $.cookie() с единственным параметром - именем cookie. При этом будет возвращено значение cookie.

$(document).ready(function(){ // Получаем cookie kittens: var str = $.cookie("kittens"); // str теперь содержит "Seven Kittens" });

Удаление cookies

Для удаления cookie снова используем функцию $.cookie(), но передавая "null" как второй параметр.

$(document).ready(function(){ // Удаляем cookie kittens: var str = $.cookie("kittens",null); // cookie kittens больше не существует });

Резюмируя

В этой небольшой статье мы рассмотрели то, как устанавливать и считывать информацию из cookies. Самое время заметить, что в cookies не следует хранить важную информацию вроде паролей, имен пользователей и т.п., так как они передаются как обычные заголовки при каждой загрузке страницы и могут быть легко считаны злоумышленниками. Однако, с надлежащими предосторожностями при помощи этой несложной технологии можно добиться более высокого уровня интерактивности при взаимодействии с посетителями сайта.

По материалам tutorialzine.com
Перевод - Дмитрий Науменко

P.S. Присмотритесь к премиум-урокам по различным аспектам сайтостроения, а также к бесплатному курсу по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить JavaScript и PHP:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


Смотрите также:

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

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

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

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

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

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

$.cookie("cookie_name", "cookie_value", { expires: 3, path: "/", domain: "your_site.ru", secure: true });

Что здесь что?

«cookie_name » – имя куки;

«cookie_value » – значение куки;

«expires » – количество дней хранения куки (в нашем случае – 3 дня). По истечении этого времени произойдет автоматическое удаление куки;

«path » – доступность куки на сайте (в нашем случае «/ » - доступна на всем сайте). По желанию можно задать только определенную страницу или раздел, где будет доступен куки, например, «/audio/rock »;

«domain » – домен, на котором куки действителен. Если у вас есть поддомен, то можете указать его в этом параметре, например, «domain: "subdomain.your_site.ru" », и в таком случае куки будет доступен только на домене «subdomain.your_site.ru »;

«secure » – параметр, указывающий, что куку нужно передавать по защищенному протоколу https.

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

$.cookie("cookie_name", "cookie_value", { expires: 3, path: "/" });

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

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

$.cookie("cookie_name");

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

var content = $.cookie("cookie_name"); if(content != null) { alert("Куки существует!"); } else { alert("Куки нет!"); }

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

3. Удаление Cookie

Чтобы удалить значение куки, присвойте ему значение «null »:

$.cookie("cookie_name", null);

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

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

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

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

Для того чтобы установить в PHP куки, мы воспользуемся встроенной функцией «setcookie »:

Что здесь что?

«cookie_name » – имя куки;

«cookie_value » – значение куки;

«time()+3600 » – время жизни куки в секундах (в нашем случае – 1 час). Если задать время жизни равное «0 », то куки удалится сразу, как будет закрыт браузер;

«/ » – раздел, в котором доступен куки (в нашем случае – доступен на всем сайте). Если вы хотите ограничить раздел, в котором куки будет доступен, то «/ » замените, например, на «/audio/rock »;

«your_site.ru » – домен, на котором куки будет доступен;

«true » – параметр, указывающий что куки доступен только по защищенному протоколу https. В противном случае значение – false ;

«false » – параметр, указывающий, что куки доступен скриптовым языкам. В противном случае – true (доступно только по http).

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

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

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

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

$_COOKIE["cookie_name"];

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

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

3. Удаление Cookie

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

Setcookie ("cookie_name", "", time() - 3600);

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

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



Рекомендуем почитать

Наверх