Подробная инструкция по работе с куки (Cookie) на jQuery/PHP
Наверное, стоит начать с того, что же такое куки и для чего они нужны. Cookie – это фрагмент данных, который можно сохранить на стороне пользователя и использовать в последующем для реализации своих идей.
Представим, что на вашем сайте есть возможность выбрать цветовую схему сайта. Очень удобно это реализовать на куки, так как выбранная им тема будет видна только ему.
Cookie существуют как в PHP, так и в jQuery. Поэтому рассмотрим каждый случай более подробно.
Подробная инструкция по работе с Cookie на jQuery
Первым делом скачайте архив в конце статьи. Разархивируйте, файл «jquery.cookie.js» загрузите на ваш сайт, после чего подключите его в секции HEAD. О том, какие варианты подключения скриптов существуют, читайте в нашей инструкции.
1. Установка Cookie
Теперь мы можем попробовать создать наш первый куки:
<script>
$.cookie("cookie_name", "cookie_value", {
expires: 3,
path: "/",
domain: "your_site.ru",
secure: true
});
</script>
Что здесь что?
«cookie_name» – имя куки;
«cookie_value» – значение куки;
«expires» – количество дней хранения куки (в нашем случае – 3 дня). По истечении этого времени произойдет автоматическое удаление куки;
«path» – доступность куки на сайте (в нашем случае «/» - доступна на всем сайте). По желанию можно задать только определенную страницу или раздел, где будет доступен куки, например, «/audio/rock»;
«domain» – домен, на котором куки действителен. Если у вас есть поддомен, то можете указать его в этом параметре, например, «domain: "subdomain.your_site.ru"», и в таком случае куки будет доступен только на домене «subdomain.your_site.ru»;
«secure» – параметр, указывающий, что куку нужно передавать по защищенному протоколу https.
Здесь не все параметры являются обязательными и для того, чтобы задать куки, вполне хватит этой конструкции:
<script>
$.cookie("cookie_name", "cookie_value", {
expires: 3,
path: "/"
});
</script>
2. Получение Cookie
Получить куки довольно просто, сделать это можно с помощью кода:
$.cookie("cookie_name");
Данный код можно присвоить к переменной и использовать в своих нуждах:
<script>
var content = $.cookie("cookie_name");
if(content != null) {
alert("Куки существует!");
} else {
alert("Куки нет!");
}
</script>
Согласитесь, это весьма удобно.
3. Удаление Cookie
Чтобы удалить значение куки, присвойте ему значение «null»:
$.cookie("cookie_name", null);
На этом, я думаю, знакомство с работой с Cookie на jQuery закончено. Этих знаний вполне хватит для реализации ваших идей.
Подробная инструкция по работе с Cookie на PHP
В отличие от предыдущего варианта работы с куки, здесь не нужно ничего подключать.
1. Установка Cookie
Для того чтобы установить в PHP куки, мы воспользуемся встроенной функцией «setcookie»:
<?php
setcookie("cookie_name", "cookie_value", time()+3600, "/", "your_site.ru", true, false);
?>
Что здесь что?
«cookie_name» – имя куки;
«cookie_value» – значение куки;
«time()+3600» – время жизни куки в секундах (в нашем случае – 1 час). Если задать время жизни равное «0», то куки удалится сразу, как будет закрыт браузер;
«/» – раздел, в котором доступен куки (в нашем случае – доступен на всем сайте). Если вы хотите ограничить раздел, в котором куки будет доступен, то «/» замените, например, на «/audio/rock»;
«your_site.ru» – домен, на котором куки будет доступен;
«true» – параметр, указывающий что куки доступен только по защищенному протоколу https. В противном случае значение – false;
«false» – параметр, указывающий, что куки доступен скриптовым языкам. В противном случае – true (доступно только по http).
Здесь также не все параметры являются обязательными, и для создания куки вам хватит такой конструкции:
<?php
setcookie("cookie_name", "cookie_value", time()+3600);
?>
Для удобства значение куки можно задать через переменную:
<?php
$content = "Hello, world!";
setcookie("cookie_name", $content, time()+3600);
?>
2. Получение Cookie
Для того чтобы получить куки, вам необходимо воспользоваться:
$_COOKIE["cookie_name"];
Чтобы исключить появление ошибок из-за возможного отсутствия куки, воспользуйтесь проверкой его существования:
<?php
if(isset($_COOKIE["cookie_name"])) {
echo $_COOKIE["cookie_name"];
}
?>
Как и в предыдущем примере работы с Cookie на jQuery, куки можно присвоить к переменной:
<?php
$content = $_COOKIE["cookie_name"];
if(isset($content)) {
echo $content;
}
?>
3. Удаление Cookie
Удаление куки на PHP выполняется так же просто, как и в jQuery. Все, что вам нужно сделать, это задать пустое значение куки и отрицательное время (время, которое уже прошло):
setcookie("cookie_name", "", time() - 3600);
Время в данном примере равняется часу назад, чего вполне хватит для удаления куки.
Хочется отметить, что в некоторых случаях использование куки куда рациональнее использования базы данных для реализации необходимого функционала.