Сессии в 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. При открытии второго файла в браузере выведется то, что было записано в сессию в первом файле.

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



Чат с GPT Компилятор