popov . dev

Главная

Библиотека

Статьи

Файлы Cookie и о...

Файлы Cookie и обработка на PHP

В этом руководстве мы узнаем, как использовать файлы cookie с помощью PHP. Но перед началом необходимо иметь понимание о том, что представляют из себя файлы Cookie и их предназначение.

Даже если вы не программист, слово cookie должно быть чем-то таким, о чем вы уже слышали. Можно представить файлы cookie просто как о временное хранилище данных. К примеру, файлы cookie используются во всех онлайн магазинах, где мы совершаем покупки онлайн. Если бы было невозможно использовать файлы cookie, мы не смогли бы хранить товары в нашей собственной корзине покупок.

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

Файлы cookie - это технология, которую мы используем для временного хранения данных на стороне клиента. Когда наш код запрашивает у клиента сохранение файлов cookie, мы можем временно сохранить некоторые из их данных.

Примечание: браузер пользователя должен поддерживать файлы cookie и он не отключил эту функцию.

Каждый раз, когда вы переходите на другую страницу (в том числе когда вы возвращаетесь на нее с помощью кнопки "Назад"), данные могут быть получены с помощью файла cookie.

Так как файлы cookie хранятся на стороне клиента, то до тех пор, пока пользователь не удалит их, файлы cookie могут храниться в течение определенного периода времени. Они не исчезают когда вы закрываете браузер.

Создание и обновление файлов Cookie

Для создания файла cookie мы используем функцию setcookie(), основной синтаксис:

setcookie(имя, значение, срок действия);
Name: название файла cookie
Value: значение переменных файла cookie
Expire: дата истечения срока действия файла cookie

Имя и Значение являются обязательными для заполнения, в то время как поле Срок действия является необязательным. Дата истечения срока действия существует для того, чтобы удалить файл cookie по истечении определенного периода времени.

Пример

<?php
    setcookie(“counter”, 1, time() + 20*60); 
    echo $_COOKIE["counter"];
?>

Вывод:

1

При этом создается файл cookie с именем counter и значением 1. Срок его действия истечет через 1200 секунд или 20 минут (числовое значение указано в секундах).

Пример

<?php
    setcookie("counter", 2, time()+20*60);
    echo $_COOKIE["counter"]; 
?>

Это обновит значение счетчика в cookie до 2.

Пример

<?php
    setcookie("counter", 2, time()+20*60);
    echo $_COOKIE["counter"];
    echo "<br>";
    setcookie("counter2", 50, time()+20*60);
    echo $_COOKIE["counter2"];
?> 

Файл cookie counter2, содержит значение 50.

Вывод

1
50

Как вы можете видеть, вы можете использовать setcookie() как для создания, так и для обновления значения файла cookie.

Чтение и удаление cookie

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

<?php echo $_COOKIE["name"]; ?>

Если мы хотим удалить файл cookie, мы просто устанавливаем его значение равным пустой строке "" или FALSE. Или можем установить дату истечения срока действия файла cookie на день ранее.

Исходя из требований при работе в реальных проектах, можно не только хранить строчные значения, но и в качестве ключа передавать массив. Пример:

<?php
    setcookie(“info[“name”]”, “Tony”, time()+30*60);
    setcookie(“info[“tel”]”, “23963257”, time() + 30*60);
?>

Комментарии

Для того чтобы оставить свое мнение, необходимо зарегистрироваться на сайте