Переменные сеанса PHP используются для хранения информации о сеансе пользователя (сессии) или для изменения настроек сеанса пользователя (сеанса). Переменные сеанса хранят информацию для одного пользователя и доступны для всех страниц приложения.
Когда вы работаете над приложением на своем компьютере, вы открываете его, вносите изменения, а затем закрываете. Это очень похоже на разговор. Компьютер знает, кто вы. Он знает, когда вы открываете и закрываете приложения. Однако в Интернете возникает проблема: поскольку HTTP-адреса не сохраняют состояние, веб-сервер не знает, кто вы и чем занимаетесь.
Сеансы PHP решают эту проблему, сохраняя информацию о пользователе на сервере для последующего использования (например, имя пользователя, приобретенные товары и т. д.). Однако информация о сеансе является временной и будет удалена после того, как пользователь покинет сайт. Если вам необходимо хранить информацию постоянно, вы можете сохранить данные в базе данных.
Рабочий механизм Session заключается в создании уникального идентификатора (UID) для каждого посетителя и сохранении переменных на основе этого UID. UID хранится в файле cookie или передается через URL-адрес.
Прежде чем вы сможете сохранить информацию о пользователе в сеансе PHP, вы должны сначала запустить сеанс.
Примечание. Функцию session_start() необходимо разместить перед тегом <html>:
<?php session_start() ?><html><body></body></html>;
Приведенный выше код зарегистрирует сеанс пользователя на сервере, чтобы вы могли начать сохранять информацию о пользователе, и назначит UID сеансу пользователя.
Правильный способ хранения и получения переменных сеанса — использовать переменную PHP $_SESSION:
<?phpsession_start();//Сохранение данных сеанса $_SESSION['views']=1;?><html><head><meta charset="utf-8"><title>Руководство по программированию (codercto.com) < /title></head><body><?php// Получить данные сеанса echo "Views:". $_SESSION['views'];?></body></html>
Выход:
Просмотры: 1
В следующем примере мы создаем простой счетчик просмотров страниц. Функция isset() определяет, установлена ли переменная «views». Если установлена переменная «views», мы увеличиваем счетчик. Если «views» не существует, создайте переменную «views» и установите для нее значение 1:
<?phpsession_start();if(isset($_SESSION['views'])){ $_SESSION['views']=$_SESSION['views']+1;}else{ $_SESSION['views']=1 ;}echo "Просмотры:". $_SESSION['views'];?>
Если вы хотите удалить некоторые данные сеанса, вы можете использовать функцию unset() или session_destroy().
Функция unset() используется для освобождения указанной переменной сеанса:
<?phpsession_start();if(isset($_SESSION['views'])){ unset($_SESSION['views']);}?>
Вы также можете полностью уничтожить сессию, вызвав функцию session_destroy():
<?phpsession_destroy();?>
Примечание. session_destroy() сбросит сеанс, и вы потеряете все сохраненные данные сеанса.