Сессии в 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

Сделайте два файла. При запуске первого файла запишите в сессию два числа, а при запуске второго файла - выведите на экран сумму этих чисел.