Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Перейти на сайт->

Бесплатный Курс "Практика HTML5 и CSS3"

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Начать->

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Получить в подарок->

Бесплатный курс "Сайт на WordPress"

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Получить в подарок->

*Наведите курсор мыши для приостановки прокрутки.


Установка и чтение cookies с помощью jQuery и PHP

Исходники

Пример

HTTP - протокол, не имеющий "памяти", то есть каждый запрос, приходящий к серверу рассматривается как отдельный, никак не связанный с другими запросами. Именно поэтому он не может хранить данные сам по себе. Однако эта простота была также и одной из причин его быстрого и широкого распространения в ранние годы развития сети Интернет.

Есть, однако возможность сохранять информацию между запросами. Делается это с помощью Cookies. С их помощью можно эффективно управлять сессиями и сохранять необходимые данные.

Есть два способа работы с Cookies - на стороне сервера (PHP, ASP и т.д.), и на стороне клиента (браузера) - JavaScript. В данной небольшой статье мы посмотрим, как создаются и читаются данные из Cookies как в PHP, так и с помощью JavaScript.

Cookies и PHP

Создание cookies

Для создания cookies в PHP нужно воспользоваться функцией setcookie(). Она принимает ряд параметров (все, за исключением первого параметра необязательны, и могут быть опущены):


setcookie(
	'pageVisits', // Имя cookie, обязательный параметр
	$visited, // The value of the cookie
	time()+7*24*60*60, // Время, на которое устанавливается cookie - на неделю вперед
	'/', //Путь к папке, для которой будет доступен cookie
	'codeharmony.ru' //Домен, к которому будет привязан файл cookie
);

Если передать значение "0" в качестве параметра для срока истечения действия cookie (это значение по умолчанию), - cookie будет уничтожаться при перезапуске браузера. Параметр "/" означает, что cookie будет доступен для всех подпапок на данном домене (в случае необходимости вы можете "привязать" cookie к какой-то отдельной директории, скажем, передав параметр наподобие "/admin/").

Хостинг

Есть еще два дополнительных параметра для данной функции, которые мы не отметили. Они определяются булевыми значениями. Первый из них определяет, будет ли cookie передаваться только по безопасному протоколу HTTPS, а второй - то, что cookie не будут доступны через JavaScript (введено в PHP 5.2).

Для большинства практических задач вполне хватит первых четырех параметров, остальные же обычно можно опустить.

Считывание (чтение) cookies

Считывание cookie средствами PHP намного проще. Все cookie, преданные скрипту, доступны через суперглобальный массив $_COOKIE. В нашем случае, чтобы считать значение из cookie, мы должны написать следующее:

$visits = (int)$_COOKIE['pageVisits']+1;
echo "Вы посетили этот сайт: ".$visits." times";

Сейчас самое время отметить, что cookies, установленные с помощью функции setcookie() становятся доступны через массив $_COOKIE при следующей загрузке страницы.

Удаление cookies

Для удаления cookies используется та же функция setcookie(), которой в данном случае нужно передать в качестве параметра, определяющего "время жизни" cookie любое время из прошлого.

setcookie(
	'pageVisits',
	$visited,
	time()-7*24*60*60, // Неделя назад. Файл cookie будет удален
	'/',
	'codeharmony.ru'
);

Cookies и jQuery

Для использования cookies с JQuery вам понадобится специальный плагин cookie.

Создание cookies

Создание cookies с помощью плагина достаточно интуитивно понятное:


$(document).ready(function(){

	// Установка cookie kittens, исчезнет после перезапуска браузера:
	$.cookie("kittens","Seven Kittens");

	// Установка demoCookie (как в демо):
	$.cookie("demoCookie",text,{expires: 7, path: '/', domain: 'codeharmony.ru'});

	// "text" - переменная, в которую сохраняется значение cookie
});

Считывание (чтение) cookies

Считывание еще проще. Нужно просто вызвать функцию $.cookie() с единственным параметром - именем cookie. При этом будет возвращено значение cookie.

$(document).ready(function(){

	// Получаем cookie kittens:
	var str = $.cookie("kittens");

	// str теперь содержит "Seven Kittens"
});

Хостинг

Удаление cookies

Для удаления cookie снова используем функцию $.cookie(), но передавая "null" как второй параметр.

$(document).ready(function(){

	// Удаляем cookie kittens:
	var str = $.cookie("kittens",null);

	// cookie kittens больше не существует
});

Резюмируя

В этой небольшой статье мы рассмотрели то, как устанавливать и считывать информацию из cookies. Самое время заметить, что в cookies не следует хранить важную информацию вроде паролей, имен пользователей и т.п., так как они передаются как обычные заголовки при каждой загрузке страницы и могут быть легко считаны злоумышленниками. Однако, с надлежащими предосторожностями при помощи этой несложной технологии можно добиться более высокого уровня интерактивности при взаимодействии с посетителями сайта.

По материалам tutorialzine.com
Перевод - Дмитрий Науменко

P.S. Присмотритесь к премиум-урокам по различным аспектам сайтостроения, а также к бесплатному курсу по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить JavaScript и PHP:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


Смотрите также:

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

CodeIgniter: жив или мертв?

CodeIgniter: жив или мертв?

Функции обратного вызова, анонимные функции и механизм замыканий

Функции обратного вызова, анонимные функции и механизм замыканий

Применение функции к каждому элементу массива

Применение функции к каждому элементу массива

Слияние массивов. Преобразование массива в строку

Слияние массивов. Преобразование массива в строку

Деструктор и копирование объектов с помощью метода __clone()

Деструктор и копирование объектов с помощью метода __clone()

Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

PHP: Удаление элементов массива

PHP: Удаление элементов массива

Ключевое слово final (завершенные классы и методы в PHP)

Ключевое слово final (завершенные классы и методы в PHP)

50 классных сервисов, программ и сайтов для веб-разработчиков

50 классных сервисов, программ и сайтов для веб-разработчиков

Наверх