Въведение в 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, ако да, тогава увеличете стойността на променливата за броене по една и ако не, след това инициализирайте стойността на броя до една.

Пример №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, която е суперглобална променлива и се съхранява над сървъра.
  • В случай, че бисквитките не се поддържат от браузъра на потребителя, можем да използваме сесията. Всяка сесия има уникален идентификатор, присвоен й според посещението на потребителя в уебсайта.
  • По отношение на съхраняването на данни, сесията съхранява повече данни, отколкото бисквитката може да съхранява.
  • Сесията се използва за пренасяне на информация от една страница на друга.
  • Сесията може да се използва, за да получите броя на посетителите на уебсайта.
  • Сесията се използва и за удостоверяване.
  • Генерираните идентификатори за сесия са уникални.

заключение

В тази статия е обяснено какво е сесия, как работи сесията, как създаваме сесията, как да изтрием определена сесия.

Също така се обяснява как да накараме сесиите да работят автоматично, като зададем на директивата session.auto_start () стойността на 1.

След това с пример беше обяснено как да се брои, колко пъти е преглеждана страницата с помощта на сесии. Също така се обяснява какво е значението на сесията и как тя е полезна за различни цели.

Препоръчителни статии

Това е ръководство за сесии в PHP. Тук обсъждаме как да създавате сесии и да изтривате сесии в PHP с дадените примери. Може да разгледате и следните статии, за да научите повече -

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