Главная Часть 1. Создание блога Глава 8. Техническая часть Урок 177. Как создать, посмотреть, удалить, обновить куки в php?

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

работа с куками php

Всем привет!

Я снова в строю! В последнее время перемены в жизни вынуждают частенько отдаляться от блога, но тем не менее я здесь и никуда не ухожу! Скоро будет ряд очень полезных и познавательных уроков по заработку! Не пропустите! А пока я расскажу о том, как в php работать с куками. Как можно легко создать, удалить или обновить куки в php?

В последующих статьях мы рассмотрим работу куки в WordPress. А пока для общего развития разберем само понятие куки.

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

Например, Вы решили проголосовать в опросе. Далее Вы еще раз захотели проголосовать, но вместо принятия голоса вылезает сообщение: "Вы уже голосовали". Казалось бы, на сайте мы не регистрировались, откуда информация, что мы уже голосовали?

Все дело в куках. При голосовании, Вам в браузер добавляется небольшой файлик с информацией о том, что Вы уже голосовали. И при новом голосовании, скрипт на сервере проверяет, есть ли у Вас такой файлик. Если есть - значит Вы уже голосовали. Все просто.

Как создать куки в php?

Создаются куки в php благодаря функции setcookie. Эта функция принимает в себя следующие параметры:

  • Обязательный здесь только один параметр - 'Имя'.
  • "Значение" указывается значение куки, как уже все догадались.
  • Срок - сколько времени куки будут работать? После окончания срока действия, кука автоматически будет удалена. Срок может быть бессрочным, в случае, если мы не указываем значение "срок". Срок устанавливается только в секундах!
  • Путь - из какого каталога будет доступна кука. (обычно не указывается, и доступна из всех каталогов)
  • Домен - Домен указывается автоматически. В случае, если доступ к куки нужно получать и на поддоменах, можно указать ".wpguru.ru". В таком случае кука будет доступна на всех сайтах с адресами: name.wpguru.ru
  • Защита - если написано TRUE, тогда куки передаются по шифрованному соединению (ssl).

 Создание куки на PHP

Теперь если посмотреть в браузере (я использую mozilla), то мы увидим куку в действии:

cookie php setcookie

Как видите, куки установились ровно на 1 день, с нужным, нам, названием, и нужным значением.

Как обновить куки php?

Предположим нам нужно обновить значение куки. Т.е. название будет то же, но значение или срок действия надо изменить. В таком случае нам опять же понадобится функция setcookie.

Операция ничем не отличается от операции создания куков. Точно так же пишем похожий код, но с измененными данными:

Теперь посмотрим, что содержится в браузере:

setcookie php

Как видите, обновление куки произошло успешно!

Как прочитать\получить куку php?

То, что в браузере отображается кука, это хорошо, но мы ведь ее создаем, чтобы впоследствии использовать в наших скриптах. Так как же получить куку? Для этого существует глобальный массив кук $_COOKIE, в котором находятся вообще все созданные куки. Обратиться к ним легко - достаточно знать имя.

Попробуем прочитать содержимое нашей куки wpguru. Для этого напишем простенький скриптик:

И глянем, что вывелось на экран:

читаем куки phpКак видите, все прекрасно работает. Вот так можно с легкостью проверить, существует ли нужная кука, и если да, то взять ее значение.

Рекомендую всегда делать проверку на существования необходимых переменных, массивов, и тд. Так Вы избежите обидных ошибок в будущем.

Как удалить куку php?

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

Теперь кука удалится!

Одно важное замечание, о котором никто не говорит. Когда я только начинал изучать программирование, я удалил куку этим способом. Зашел в браузер - кука осталась. Перерыл все форумы - такая проблема часто встречается, но все отвечают мол: "Хм, не знаю, у меня работает". А причина вот в чем - кука удаляется, но не из файлов пользователя. Там она остается. И открывая браузер, Вы ее видите, но если мы обратимся к ней посредством $_COOKIE['wpguru'], то в результате будет 0. Вот так можно легко проверить, удалена ли кука.

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

Так что ждите.

До скорых встреч!

 

Полезные статьи Вам на почту!

Нас более 700 человек!

Комментарии

Андрей Николаев
-1

Привет! Ты куда исчез? На почту не отвечаешь, статьи не публикуешь. Мы тут волнуемся с ребятами. Все хорошо у тебя?

23.06.2016
0

Привет. Долгая история) На почте писем твоих не видел. Все отлично у меня!) Вернулся вот блогом заниматься. В ближайшее время будет очень много интересного и полезного!

24.06.2016
Андрей Николаев
-1

Давай подробнее) Статья классная, я думал куки - что-то очень сложное. Не то что добавлять, удалять куки)) Теперь понял, что все это легко делается. Век учись..

24.06.2016
-1

Да все очень просто в программировании) Следующая статья будет о планах и целях. Не пропусти!) буквально на днях, может завтра выйдет

24.06.2016
Андрей Николаев
-1

Ну где же статья?) Ты мои письма на почте начал получать?

26.06.2016
1

Ты не представляешь, какой завал у меня) Выполняю сразу 4 разных заказа, у всех дедлайн почти одинаков. Сейчас уже отправил на проверку 2, а еще траву надо скосить =) В общем будет статья, я сегодня уже начал писать. И нет, писем твоих у меня даже в папке "Спам" нет. Поменяй почту, или проверь, точно ли мне высылаешь.

26.06.2016

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

Поделиться