Курс — «Программирование на PHP8 для начинающих» — #25 Основы веб-разработки с PHP. Работа с сессиями и куки
Здравствуйте, дорогие друзья.
Сессии и куки являются важными инструментами для управления состоянием пользователя в веб-приложениях. Они позволяют хранить данные, которые могут быть использованы для персонализации контента, отслеживания состояния пользователя и обеспечения безопасности. В этом разделе мы рассмотрим, как работать с сессиями и куки в PHP.
Сессии
Сессии позволяют хранить данные на сервере в течение определенного времени. Это полезно для отслеживания состояния пользователя, например, при аутентификации или хранении данных корзины покупок.
Начало сессии
Для начала работы с сессиями необходимо вызвать функцию session_start()
. Это создаст новую сессию или возобновит существующую.
1 |
session_start(); |
Установка значения сессии
После начала сессии можно установить значения сессионных переменных, используя суперглобальный массив $_SESSION
.
1 2 |
$_SESSION['username'] = 'user123'; $_SESSION['email'] = 'user123@example.com'; |
Получение значения сессии
Для получения значений сессионных переменных используется тот же массив $_SESSION
.
1 2 |
echo 'Username: ' . $_SESSION['username']; echo 'Email: ' . $_SESSION['email']; |
Удаление значения сессии
Для удаления конкретного значения сессии используется функция unset()
.
1 |
unset($_SESSION['username']); |
Завершение сессии
Для полного завершения сессии и удаления всех сессионных данных используется функция session_destroy()
.
1 |
session_destroy(); |
Куки
Куки хранят данные на стороне клиента и могут быть использованы для сохранения настроек пользователя, таких как язык интерфейса или предпочтения.
Установка куки
Для установки куки используется функция setcookie()
. Первый параметр — это имя куки, второй — значение, третий — время истечения (в формате Unix timestamp).
1 |
setcookie('username', 'user123', time() + (86400 * 30), "/"); // Куки будет действителен 30 дней |
Получение значения куки
Для получения значений куки используется суперглобальный массив $_COOKIE
.
1 2 3 |
if(isset($_COOKIE['username'])) { echo 'Username: ' . $_COOKIE['username']; } |
Удаление куки
Для удаления куки устанавливается время истечения в прошлом.
1 |
setcookie('username', '', time() - 3600, "/"); |
Пример использования сессий и куки
Рассмотрим пример, где используются как сессии, так и куки для хранения данных пользователя.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php session_start(); // Установка сессионных переменных $_SESSION['username'] = 'user123'; $_SESSION['email'] = 'user123@example.com'; // Установка куки setcookie('theme', 'dark', time() + (86400 * 30), "/"); // Получение и вывод данных echo 'Username: ' . $_SESSION['username']; echo 'Email: ' . $_SESSION['email']; echo 'Theme: ' . $_COOKIE['theme']; // Удаление сессионной переменной unset($_SESSION['username']); // Удаление куки setcookie('theme', '', time() - 3600, "/"); ?> |
Сессии и куки являются мощными инструментами для управления состоянием пользователя в веб-приложениях. Сессии хранят данные на сервере, обеспечивая безопасность и конфиденциальность, в то время как куки хранят данные на клиентской стороне, позволяя сохранять настройки пользователя. Правильное использование этих инструментов позволяет создавать более интерактивные и персонализированные веб-приложения. В следующих разделах мы рассмотрим более продвинутые темы, такие как отладка и тестирование кода, а также разработка практического проекта.
На этом все. Всем хорошего дня!
Цикл статей по курсу — «Программирование на PHP8 для начинающих».