Сесии в PHP
Когато видим страница на сайта в браузъра си, PHP скриптът на тази страница отдавна е отработил и е забравил за нас. Затова, ако преминем от една страница на сайта към друга - PHP скриптът не може да запомни данни от предишната страница, например стойностите на променливите.
Въпреки това, такъв механизъм е много необходим, макар и само за да запомня избора на потребителя или факта, че потребителят е бил авторизиран.
В PHP за съхраняване на данни на потребителя между страниците на сайта са предназначени сесии. Можем да записваме каквато и да е информация в сесията и да я четем оттам при следващото изпълнение на този или друг скрипт на сайта. С помощта на сесия може да се реализира авторизация на потребители, кошница за онлайн магазин и други.
Сесията на потребителя се съхранява на сървъра. В същото време тя не живее вечно, а само около половин час - ако през това време потребителят не е направил никакви заявки към сайта, то неговата сесия ще бъде изтрита и ще стане празна.
И така, нека да разгледаме как се работи
със сесии в PHP.
За да запишем нещо в сесията, първо трябва да я
инициализираме с помощта на функцията
session_start:
<?php
session_start();
?>
След инициализацията можем да запишем нещо
в сесията или да прочетем нещо оттам.
Това става с помощта на суперглобалния масив
$_SESSION.
Нека опитаме на практика. Нека направим файл
test1.php и поставим в него следния код:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // пишем в сесията
?>
А във файла test2.php - следния код:
<?php
session_start();
echo $_SESSION['test']; // четем от сесията
?>
Сега за начало отворете в браузъра файла
test1.php, а след това test2.php.
При отваряне на втория файл в браузъра ще се изведе
това, което е записано в сесията в първия файл.
Направете два файла. При стартиране на първия файл запишете в сесията две числа, а при стартиране на втория файл - изведете на екрана сумата от тези числа.