Сесіі ў 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.
Пры адкрыцці другога файла ў браўзэры выведзецца
тое, што было запісана ў сесію ў першым файле.
Зрабіце два файлы. Пры запуску першага файла запішыце ў сесію два лікі, а пры запуску другога файла - вывядзіце на экран суму гэтых лікаў.