Куки и сессии позволяют хранить информацию на протяжении определенного времени.
Куки
Куки позволяют задать период хранения информации. Функция setcookie() создает куки. Она принимает следующие параметры:
- Название ключа: Используется для доступа к значению.
- Значение: Любое строковое или числовое значение.
- Время жизни (в секундах): Указывается, добавляя к результату функции time() необходимое количество секунд.
Пример создания куки с именем пользователя «Alex», существующей 5 секунд:
$username = "Alex";
setcookie("username", $username, time() + 5);
Вывод всех куки с помощью print_r($_COOKIE); показывает массив, содержащий все куки, включая системные. Значение username будет отображаться, пока куки существует. После 5 секунд оно исчезнет.
Для более длительного хранения (например, 3 минуты, 180 секунд):
setcookie("username", $username, time() + 180);
Доступ к значению куки:
echo $_COOKIE["username"];
Удаление куки (время жизни устанавливается в прошлое):
setcookie("username", "", time() - 3600);
Куки удобны для хранения информации об авторизованных пользователях, так как могут храниться длительное время (например, месяц).
Сессии
Для работы с сессиями необходимо запустить их с помощью session_start(). Важно: session_start() должна быть вызвана до вывода любого HTML-кода. Рекомендуется размещать её сразу после открывающего тега <?php.
<?php
session_start();
// ... ваш код ...
?>
В каждом файле, где используются сессии, session_start() должна вызываться в начале.
Работа с сессиями осуществляется через ассоциативный массив $_SESSION.
Установка значения в сессии:
$_SESSION["username"] = $username;
Проверка и вывод значения из сессии:
if (isset($_SESSION["username"]) && $_SESSION["username"] == "Alex") {
echo "Сессия установлена";
}
Удаление элемента из сессии:
unset($_SESSION["username"]);
Полное уничтожение сессии:
session_destroy();
Сессии хранятся только на время сессии браузера. Закрытие браузера приводит к удалению сессии.
Куки и сессии – важные инструменты для хранения данных в веб-приложениях. Выбор зависит от необходимого времени хранения. Куки позволяют задать время хранения, сессии хранят данные только во время работы браузера.