Артём Мáлков

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

7 сен2 комм

Наверное, стоит начать с того, что же такое куки и для чего они нужны. 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);

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

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

Файл
Размер
Ссылка
jquery.cookie.zip
1,69 Kb
Скачать с сервера
Рекомендуем к просмотру
Использование тега [leech] в шаблоне в DLE
Посты
Как получить значение Cookie по ее имени на JavaScript?
Статьи и советы
Политика конфиденциальности
Блог
2
комментария
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 15
    1066
      •  Команда Pandoge
    28 сен в 23:59

    Иван, Здравствуйте! Очень интересный вопрос. И ответ на него вы получите в сегодняшней статье.

    • 3
    766
      •  Гости
    28 сен в 17:19

    На uCoz/shop - значение валюты при заходе на сайт - записывается в куку.

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

Подняться наверх
«Pandoge» - помощник вебмастера