beget banner 468x60beget banner 728x90beget banner 930x180smsc banner 468x60smsc banner 728x90smsc banner 930x180etxt banner 468x60etxt banner 728x90etxt banner 930x180

Руководство по cookie в PHP

Файл cookie — это небольшой текстовый файл, который позволяет хранить небольшой объем данных (около 4 КБ) на компьютере пользователя. Обычно эти файлы используются для отслеживания такой информации, как, например, имя пользователя, которое сайт может извлечь для персонализации страницы, когда пользователь посетит сайт в следующий раз.

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

Функция setcookie() используется для установки cookie в PHP. Убедитесь, что вы вызываете функцию setcookie() перед любым выводом, сгенерированным вашим скриптом, иначе cookie не будет установлен. Базовый синтаксис этой функции может быть задан следующим образом:

setcookie(name, value, expire, path, domain, secure);

Параметры функции setcookie() имеют следующие значения:

Параметр Описание
name Название cookie.
value Значение файла cookie. Не храните конфиденциальную информацию, поскольку это значение хранится на компьютере пользователя.
expires Дата истечения срока хранения в формате временной метки UNIX. По истечении этого времени cookie станет недоступным. Значение по умолчанию — 0.
path Путь на сервере по которому будет доступен файл cookie. Если установлено значение /, cookie будет доступен во всем домене.
domain Указывает домен, для которого cookie доступен, например www.example.com.
secure Это поле, если оно присутствует, указывает на то, что файл cookie следует отправлять только при наличии защищенного HTTPS-соединения.

Если срок действия cookie установлен на 0 или опущен, срок действия cookie истечет в конце сеанса, то есть при закрытии браузера.

Вот пример, в котором функция setcookie() используется для создания файла cookie с именем username и присваивает ему значение value John Carter. Она также указывает, что срок действия cookie истечет через 30 дней (30 days * 24 hours * 60 min * 60 sec).

<?php
// Установка куки
setcookie("username", "John Carter", time()+30*24*60*60);
?>

Все аргументы, кроме имени, необязательны. Вы также можете заменить аргумент пустой строкой («»), чтобы пропустить этот аргумент, однако, чтобы пропустить аргумент истечения срока действия (expires), используйте вместо него ноль (0).

Не храните конфиденциальные данные в файлах cookie, поскольку злоумышленник потенциально может ими манипулировать. Для безопасного хранения конфиденциальных данных используйте вместо этого сессии.

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

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

<?php
// Доступ к индивидуальному значению cookie
echo $_COOKIE["username"]; // Выводит: John Carter
?>

Перед тем, как получить доступ к его значению, рекомендуется проверить, установлен ли файл cookie или нет. Для этого вы можете использовать PHP-функцию isset(), например:

<?php
// Проверяем, установлен ли cookie или нет
if(isset($_COOKIE["username"])){
    echo "Hi " . $_COOKIE["username"];
} else{
    echo "Welcome Guest!";
}
?>

Вы можете использовать функцию print_r(), например print_r($_COOKIE); чтобы увидеть структуру этого ассоциативного массива $_COOKIE.

Вы можете удалить cookie, вызвав ту же функцию setcookie() с именем cookie и любым значением (например, пустой строкой), однако на этот раз вам нужно установить дату истечения срока действия в прошлом, как показано в примере ниже:

<?php
// Удаление куки
setcookie("username", "", time()-3600);
?>

Вы должны передать точно такой же путь, домен и другие аргументы, которые вы использовали при первом создании файла cookie, чтобы гарантированно удалить файл cookie.

kwork banner 480x320kwork banner 728x90kwork banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 2

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…
Подробнее

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…
Подробнее

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…
Подробнее