Использование Cookies с PHP

Автор: Daewook.
Опубликовано 2 декабря 2012
в рубрике PHP, Примеры

Просмотров: 4308.
Подписаться на комментарии по RSS.



Использование Cookies с PHP
Куки позволяют веб-мастеру хранить информацию о посетителе сайта на свой ​​компьютер, чтобы получить ту же информацию в следующий раз при следующем визите. Один из самых распространенных это использование куки для хранения имени пользователя и пароля на компьютере, поэтому вам не нужно войти каждый раз, когда вы посещаете разные сайты. Куки также может хранить другие вещи, такие как имя, последний визит, содержимое корзины онлайн магазина и т.д.

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

Куки устанавливаются с помощью следующей функции:

 setcookie(name, value, expiration)
 <?php 
 $Month = 2592000 + time(); // это добавляет 30 дней к текущему времени
 setcookie(AboutVisit, date("F jS - g:i a"), $Month);
 ?>
Приведенный выше код под названием "AboutVisit", устанавливает куки в браузере посетителя. Куки устанавливает значение текущей даты и истечения в течение 30 дней (2592000 = 60 секунд * 60 минут * 24 часа * 30 дней).

Теперь давайте получить куки:

 <?php 
 if(isset($_COOKIE['AboutVisit']))
 { 
 $last = $_COOKIE['AboutVisit']; 
 echo "Добро пожаловать! 
 Ваш последний визит был на". $last; 
 } 
 else 
 { 
 echo "Добро пожаловать на наш сайт!"; 
 } 
 ?>
Этот код сначала проверяет, если куки не существует. Если это произойдет, он приветствует пользователя обратно и говорит им, когда они последний раз посещали сайт. Если они новые, он пропускает это и выводит общее приветствие.

Чтобы уничтожить куки, просто используйте SetCookie еще раз, только установите срок годности, чтобы быть в прошлом. Это часто делается, когда вы "выходите" из какой-нибудь социальной сети. Вот пример:

<?php 
 $past = time() - 10; // 10 секунд назад
 setcookie(AboutVisit, date("F jS - g:i a"), $past);
 ?>
Помните: куки должны быть установлены в хэдере. Это означает, что они должны быть отправлены до любых HTML-кодов на странице в противном случае они не будут работать.

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

Гость
Комментатор / хотите им стать

Чтобы стать комментатором введите email и пароль. Напишите комментарий. В дальшейшем ваша связка email-пароль, позволит вам комментировать и редактировать свои данные. Не забудьте про активацию (инструкция придет на ящик, указанный при регистрации).