Js работа с куки


Приветствую всех!
Речь пойдет о работе с куками: сохранение, изменение, удаление.
Способ на самом деле не один, мне больше понравилось работать с javascript.
Есть даже специальная библиотека jquery-cookie.js, но я ей пользоваться не стал.

Добавление куки:

Js:

var name = 'testcoocie'; //имя куки
var first = 'данные сохраняются в виде строки';
var second = 'второе значение';
first = encodeURIComponent(first); //рекомендую использовать encodeURIComponent при работе с русскими буквами - это некая кодировка. в противном случае при получении куки получим кракозябры
second = encodeURIComponent(second);
var telo = first+','+second; /*если нужно передать несколько данных типа массива, то рекомендую записать через запятую. потом с помощью PHP из строки с запятыми можно сделать массив и работать с массивом...*/
var expires = new Date(); //актуальная дата
expires.setHours(expires.getHours()+6); /*к нашей дате добавляем +6 часов - это время, которое будут хранится наши данные (куки) переданные на компьютер пользователя */

document.cookie = name+"="+telo+";expires="+expires+";path=/";
/* document.cookie - команда добавления кукуов */
/* name - переменная с нашем именем - обязательный параметр */
/* telo - некие передаваемые данные в виде строки - обязательный параметр */
/* expires - задаем время хранения куков, без этого параметра куки будут хранится в течении сессии */
/* ";path=/" - указывает путь хранения куки - в данном случае на всем сайте, 
можно выставить для определенной страницы */
Для измения данных куки проделываем те же действия что и выше — данные перезапишутся.

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

Выводим значение куки:

PHP:

$dann = array(); // создаем массив	
$text = explode(",", $_COOKIE['testcoocie']); 
//создаем массив из строки с запятыми
  for($h=0; $h<count($text); $h++) 
{ 	$vol = $text[$h]; 
    array_push($dann,$vol);    } 

$dannie1 = $dann[0];//первое значение в массиве
$dannie2 = $dann[1];//второе значение и т.д...
echo $dannie1; //выведет: 'данные сохраняются в виде строки'
echo $dannie2; //выведет: 'второе значение'

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

Для удаления куков мне также больше понравилось пользоваться javascript.
Код простой, поэтому добавлю еще обработчик (кнопку).

JS:

function delCookie() //эту функцию я запускаю нажатием кнопки
{
var name = 'login';
document.cookie = name + "=" + "; expires=Thu, 01 Jan 1970 00:00:01 GMT"+";path=/";
/*добавляем куки с имеющимся именем, но с прошедшей датой*/
}

Кнопка в HTML:

<a href="" onclick="delCookie();"><button>удалить</button></a>
<!--этим действием мы попутно перезагружаем страницу, 
чтобы отчистились наши заполненные данные на странице -->


Оставить комментарий