Случайный выбор победителя «Вконтакте»   •   Online-инструменты
553 просм
2 комм
Поделиться:

Подробная инструкция по работе с куки (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);

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

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

ФайлРазмерСсылка
2
комментария
Иван
28.09 в 17:19
На uCoz/shop - значение валюты при заходе на сайт - записывается в куку.

Как сделать проверку на данную куку по валюте, чтобы в последствии в зависимости от ответа - после проверки выводить требуемый символ валюты, там где это необходимо на странице?
  • 0
Иван, Здравствуйте! Очень интересный вопрос. И ответ на него вы получите в сегодняшней статье.
  • 0
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария