Работа с cookie

Cookie — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Браузер всякий раз при попытке открыть страницу соответствующего сайта пересылает этот фрагмент данных веб-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для:

  • аутентификации пользователя;
  • хранения персональных предпочтений и настроек пользователя;
  • отслеживания состояния сеанса доступа пользователя;
  • ведения статистики о пользователях.

Получать и записывать cookie можно как с помощью JavaScript, так и при помощи PHP. Рассмотрим эти варианты:

 JavaScript и Cookie

<script>
//Функция получения куков
function getCookie(c_name)
{
	var i,x,y,ARRcookies=document.cookie.split(";");
	for (i=0;i<ARRcookies.length;i++)
	{
		x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
		y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
		x=x.replace(/^s+|s+$/g,"");
		if (x==c_name)
		{
			return unescape(y);
		}
	}
}


	
//Функция записи куков (имя, значение, время_жизни_в_днях) function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); //Если в конце убрать + "; path=/", то кук будет доступен только для текущей страницы //Если не убирать, то кук будет доступен для любой страницы в пределах домена var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString() + "; path=/"); document.cookie=c_name + "=" + c_value; } //Запишем кук с именем "recorded_hash" со значением "jy7b21c876b23476h" setCookie("recorded_hash","jy7b21c876b23476h",365); //Кук будет жить 365 дней //Прочитаем значение кука "recorded_hash" в соответствующую переменную var recorded_hash=getCookie("recorded_hash"); alert (recorded_hash); </script>

 PHP и Cookie

<?php
/*
Запишем кук с именем "recorded_hash" со значением "jy7b21c876b23476h"
и временем жизни 365 дней (60*60*24*365=31536000 сек).
Параметр "/" означает что кук будет доступен для всех страниц в пределах
текущего домена. Если его убрать, кук будет доступен только для текущей страницы
*/
setcookie("recorded_hash", "jy7b21c876b23476h", time()+31536000, "/");

//Прочитаем значение кука "recorded_hash" в соответствующую переменную
$recorded_hash = $_COOKIE["recorded_hash"];
if ($recorded_hash){
   echo $recorded_hash;
}else{
   echo "кука нету";
}
?>
(Просмотрено 79 раз, 1 раз за сегодня)
Вы можете оставить комментарий, или Трекбэк с вашего сайта.

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