Урок 177. Как создать, посмотреть, удалить, обновить куки в php?

Всем привет!
Я снова в строю! В последнее время перемены в жизни вынуждают частенько отдаляться от блога, но тем не менее я здесь и никуда не ухожу! Скоро будет ряд очень полезных и познавательных уроков по заработку! Не пропустите! А пока я расскажу о том, как в php работать с куками. Как можно легко создать, удалить или обновить куки в php?
В последующих статьях мы рассмотрим работу куки в WordPress. А пока для общего развития разберем само понятие куки.
Не буду писать банальщину о том, что куки это в переводе печеньки и все такое. Информация эта, на мой взгляд, совершенно бесполезная. Скажу иначе, куки - это какая-то информация, которая хранится в Вашем браузере.
Например, Вы решили проголосовать в опросе. Далее Вы еще раз захотели проголосовать, но вместо принятия голоса вылезает сообщение: "Вы уже голосовали". Казалось бы, на сайте мы не регистрировались, откуда информация, что мы уже голосовали?
Все дело в куках. При голосовании, Вам в браузер добавляется небольшой файлик с информацией о том, что Вы уже голосовали. И при новом голосовании, скрипт на сервере проверяет, есть ли у Вас такой файлик. Если есть - значит Вы уже голосовали. Все просто.
Как создать куки в php?
Создаются куки в php благодаря функции setcookie. Эта функция принимает в себя следующие параметры:
1 |
setcookie('Имя','Значение', 'Срок', 'Путь', 'Домен', 'Защита'); |
- Обязательный здесь только один параметр - 'Имя'.
- "Значение" указывается значение куки, как уже все догадались.
- Срок - сколько времени куки будут работать? После окончания срока действия, кука автоматически будет удалена. Срок может быть бессрочным, в случае, если мы не указываем значение "срок". Срок устанавливается только в секундах!
- Путь - из какого каталога будет доступна кука. (обычно не указывается, и доступна из всех каталогов)
- Домен - Домен указывается автоматически. В случае, если доступ к куки нужно получать и на поддоменах, можно указать ".wpguru.ru". В таком случае кука будет доступна на всех сайтах с адресами: name.wpguru.ru
- Защита - если написано TRUE, тогда куки передаются по шифрованному соединению (ssl).
Создание куки на PHP
1 2 3 4 5 |
$name = 'wpguru'; //имя куки $value = 'hello world'; //значение куки $expire = time()+60*60*24; //сколько будет кука работать (1 день в секундах) setcookie($name,$value,$expire); //установили куку с нашими параметрами |
Теперь если посмотреть в браузере (я использую mozilla), то мы увидим куку в действии:
Как видите, куки установились ровно на 1 день, с нужным, нам, названием, и нужным значением.
Как обновить куки php?
Предположим нам нужно обновить значение куки. Т.е. название будет то же, но значение или срок действия надо изменить. В таком случае нам опять же понадобится функция setcookie.
Операция ничем не отличается от операции создания куков. Точно так же пишем похожий код, но с измененными данными:
1 2 3 4 5 6 7 8 9 |
<?php $name = 'wpguru'; //имя куки $value = 'hello world, ver. 2'; //значение куки $expire = time()+60*60*24*7; //сколько будет кука работать (неделя в секундах) setcookie($name,$value,$expire); //установили куку с нашими параметрами ?> |
Теперь посмотрим, что содержится в браузере:
Как видите, обновление куки произошло успешно!
Как прочитать\получить куку php?
То, что в браузере отображается кука, это хорошо, но мы ведь ее создаем, чтобы впоследствии использовать в наших скриптах. Так как же получить куку? Для этого существует глобальный массив кук $_COOKIE, в котором находятся вообще все созданные куки. Обратиться к ним легко - достаточно знать имя.
Попробуем прочитать содержимое нашей куки wpguru. Для этого напишем простенький скриптик:
1 2 3 4 5 6 |
if(isset($_COOKIE['wpguru'])) { echo 'Кука wpguru существует, и в ней лежит значение: ' . $_COOKIE['wpguru']; } else { echo 'Кука wpguru не задана'; } |
И глянем, что вывелось на экран:
Как видите, все прекрасно работает. Вот так можно с легкостью проверить, существует ли нужная кука, и если да, то взять ее значение.
Как удалить куку php?
Нет ничего проще, чем удалить куки. Для этого нам достаточно создать куку с тем же названием, с любым содержанием, обычно, с пустым, и просто задать дату истечения срока действия ту, которая уже прошла. Например:
1 |
setcookie('wpguru','',time()-4444); |
Теперь кука удалится!
На этом у меня все, в ближайшее время будут выходить еще статьи. Скорей всего я опишу в следующей статьи, какие планы ждут блог, и подробно расскажу про серию статей о заработке. Все будет в онлайн-режиме, т.е. я зарабатываю, и пишу статью. А не просто теорию вещаю.
Так что ждите.
До скорых встреч!
Комментарии