Введение в сессии PHP

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

Для начала сеанса мы используем функцию session_start (). И когда сессия начинается, она длится 24 минуты по умолчанию, что составляет 1440 секунд. Сеанс идентифицируется идентификаторами сеанса или SID, который является уникальным номером для идентификации каждого пользователя.

Как создавать сессии?

session_start () - это функция, используемая для запуска сеанса. Если сеанс уже существует, он будет использовать тот же сеанс, иначе он создаст новый сеанс. Эта функция всегда вызывается в начале каждой страницы. После вызова функции мы можем начать сохранять значения в переменных сеанса, но не раньше. PHP хранит информацию о пользователе в суперглобальной переменной $ _SESSION.

Чтобы узнать, каков путь к каталогу, в котором хранятся сеансы, у нас есть директива session_save_path в файле php.ini для хранения пути. Кроме того, session_id печатает идентификатор, связанный с текущим сеансом. Это уникальный случайный номер.

Давайте посмотрим на программу ниже.

В этой программе, когда вы печатаете эту переменную сеанса, используя print_r ($ _ SESSION), печатаются все установленные данные сеанса. Выходные данные представлены в виде ассоциативного массива пар ключ-значение.

В этом примере мы сначала запускаем сеанс с помощью функции session_start (), инициализируем переменные и присваиваем его переменным сеанса с помощью _SESSION ('name') = $ name, печатаем суперглобальный массив. Мы также выводим уникальное значение идентификатора сеанса также с помощью функции session_id ().

Пример № 1

Код:

<_?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION('name') = $name;
$_SESSION('age') = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '
The session_id is ';
echo session_id();
?>

Выход :

Как удалить сеансы?

Пример № 2

Функция Session_destroy () используется для уничтожения сеанса. Эта функция уничтожает весь сеанс. Чтобы сбросить одну переменную сеанса, мы можем использовать функцию unset ().

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

Код

<_?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION('name'));
unset($_SESSION('age'));
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

Выход :

В следующем примере мы уничтожаем сессию.

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

Пример № 3

Код:

<_?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '
';
print_r($_SESSION);
?>

Выход :

Здесь, в программе, мы видим, что в первой строке мы запускаем сеанс и инициализируем переменную count равной 0. Затем мы проверяем, установлена ​​ли переменная сеанса или нет. здесь мы проверяем одно условие, установлено ли имя сеанса page_views, если да, то увеличиваем значение переменной count на единицу, а если нет, то инициализируем значение count равным единице.

Пример № 4

Код:

<_?php
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>
<_?php echo '
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>

Выход:

Как включить авто сессию в Php?

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

Где php.ini - файл конфигурации по умолчанию

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

Так что в файле php.ini мы будем искать

session.auto_start = 0

и установите значение 1, как это

session.auto_start = 1

Это поможет PHP автоматически запускать сессии.

Важность сессии

  • Как и $ _COOKIE, у нас есть $ _SESSION, которая является суперглобальной переменной и хранится на сервере.
  • В случае, если куки не поддерживаются браузером пользователя, мы можем использовать сеанс. Каждой сессии присваивается уникальный идентификатор в соответствии с посещением пользователя на веб-сайте.
  • С точки зрения хранения данных, сеанс хранит больше данных, чем может сохранить cookie.
  • Сессия используется для переноса информации с одной страницы на другую.
  • Сессия может быть использована для подсчета посетителей сайта.
  • Сессия также используется в целях аутентификации.
  • Сгенерированные идентификаторы сессии уникальны.

Вывод

В этой статье объясняется, что такое сеанс, как работает сеанс, как мы создаем сеанс, как мы удаляем конкретный сеанс.

Также объясняется, как заставить сеансы работать автоматически, установив для директивы session.auto_start () значение 1.

Затем на примере было объяснено, как считать, сколько раз страница была просмотрена с помощью сеансов. Также объясняется, какова важность сессии и как она полезна для разных целей.

Рекомендуемые статьи

Это руководство по сессиям в PHP. Здесь мы обсуждаем, как создавать сеансы и удалять сеансы в PHP с приведенными примерами. Вы также можете взглянуть на следующие статьи, чтобы узнать больше -

  1. Инкапсуляция в PHP
  2. Магические константы PHP
  3. Перегрузка в PHP
  4. Переопределение в PHP
  5. Конструктор в PHP
  6. PHP рекурсивная функция
  7. Рекурсивная функция в Python
  8. Рекурсивная функция в C
  9. Рекурсивная функция в JavaScript
  10. Как Cookies работают в JavaScript с примером?