Сесии в PHP

Когато видим страница на сайта в браузъра си, PHP скриптът на тази страница отдавна е отработил и е забравил за нас. Затова, ако преминем от една страница на сайта към друга - PHP скриптът не може да запомни данни от предишната страница, например стойностите на променливите.

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

В PHP за съхраняване на данни на потребителя между страниците на сайта са предназначени сесии. Можем да записваме каквато и да е информация в сесията и да я четем оттам при следващото изпълнение на този или друг скрипт на сайта. С помощта на сесия може да се реализира авторизация на потребители, кошница за онлайн магазин и други.

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

И така, нека да разгледаме как се работи със сесии в PHP. За да запишем нещо в сесията, първо трябва да я инициализираме с помощта на функцията session_start:

php<?php
  session_start();
?>

След инициализацията можем да запишем нещо в сесията или да прочетем нещо оттам. Това става с помощта на суперглобалния масив $_SESSION.

Нека опитаме на практика. Нека направим файл test1.php и поставим в него следния код:

test1.php<?php
  session_start();
  $_SESSION['test'] = 'abcde'; // пишем в сесията
?>

А във файла test2.php - следния код:

test2.php<?php
  session_start();
  echo $_SESSION['test']; // четем от сесията
?>

Сега за начало отворете в браузъра файла test1.php, а след това test2.php. При отваряне на втория файл в браузъра ще се изведе това, което е записано в сесията в първия файл.

Задание 1

Направете два файла. При стартиране на първия файл запишете в сесията две числа, а при стартиране на втория файл - изведете на екрана сумата от тези числа.