Relace v PHP
Když vidíme stránku webu ve svém prohlížeči, PHP skript této stránky již dávno doběhl a zapomněl na nás. Proto, pokud přecházíme z jedné stránky webu na druhou - PHP skript si nemůže pamatovat data z předchozí stránky, například hodnoty proměnných.
Takový mechanismus je však velmi potřebný, alespoň proto, aby si pamatoval volbu uživatele nebo to, že uživatel byl autorizován.
V PHP pro ukládání dat uživatele mezi stránkami webu jsou určeny relace. Můžeme zaznamenávat jakékoli informace do relace a číst je odtud v následujícím spuštění tohoto nebo jiného skriptu webu. Pomocí relace lze implementovat autorizaci uživatelů, košík internetového obchodu a další.
Relace uživatele je uložena na serveru. Přitom nežije věčně, ale pouze asi půl hodiny - pokud uživatel během této doby nevykonal žádné požadavky na web, pak jeho relace se smaže a stane se prázdnou.
Takže, pojďme se podívat, jak pracovat
s relacemi v PHP.
Chcete-li něco zapsat do relace, je třeba ji nejprve
inicializovat pomocí funkce
session_start:
<?php
session_start();
?>
Po inicializaci můžeme něco zapsat
do relace nebo odtud něco přečíst.
To se provádí pomocí superglobálního pole
$_SESSION.
Zkusme to v praxi. Vytvořme soubor
test1.php a umístěme do něj následující kód:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // píšeme do relace
?>
A v souboru test2.php - následující kód:
<?php
session_start();
echo $_SESSION['test']; // čteme z relace
?>
Nyní nejprve otevřete v prohlížeči soubor
test1.php, a potom test2.php.
Při otevření druhého souboru v prohlížeči se vypíše
to, co bylo zapsáno do relace v prvním souboru.
Vytvořte dva soubory. Při spuštění prvního souboru zapište do relace dvě čísla, a při spuštění druhého souboru - vypište na obrazovku součet těchto čísel.