Relácie v PHP
Keď vidíme stránku webu vo svojom prehliadači, PHP skript tejto stránky už dávno zbehol a zabudol na nás. Preto, ak prechádzame z jednej stránky webu na druhú - PHP skript si nemôže zapamätať údaje z predchádzajúcej stránky, napr. hodnoty premenných.
Avšak, takýto mechanizmus je veľmi potrebný, aspoň na to, aby si pamätal výber používateľa alebo to, že používateľ bol autorizovaný.
V PHP na ukladanie údajov používateľa medzi stránkami webu sú určené relácie. Môžeme zaznamenať akúkoľvek informáciu do relácie a čítať ju odtiaľ v ďalšom spustení tohto alebo iného skriptu webu. Pomocou relácie je možné realizovať autorizáciu používateľov, košík internetového obchodu a iné.
Relácia používateľa je uložená na serveri. Pritom nežije večne, ale len približne pol hodiny - ak používateľ za tento čas nevykonal žiadne dopytovanie na web, tak jeho relácia sa vymaže a bude prázdna.
Takže, pozrime sa, ako pracovať
s reláciami v PHP.
Aby sme niečo zapísali do relácie, treba ju najprv
inicializovať pomocou funkcie
session_start:
<?php
session_start();
?>
Po inicializácii môžeme niečo zapísať
do relácie alebo niečo prečítať odtiaľ.
To sa robí pomocou superglobálneho poľa
$_SESSION.
Skúsme to v praxi. Urobme súbor
test1.php a umiestnime do neho nasledujúci kód:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // píšeme do relácie
?>
A v súbore test2.php - nasledujúci kód:
<?php
session_start();
echo $_SESSION['test']; // čítame z relácie
?>
Teraz na začiatok otvorte v prehliadači súbor
test1.php, a potom test2.php.
Pri otvorení druhého súboru v prehliadači sa vypíše
to, čo bolo zaznamenané do relácie v prvom súbore.
Urobte dva súbory. Pri spustení prvého súboru zaznamenajte do relácie dve čísla, a pri spustení druhého súboru - vypíšte na obrazovku súčet týchto čísel.