Sesijas PHP
Kad mēs redzam vietnes lapu savā pārlūkprogrammā, PHP skripts šai lapai jau sen ir izpildījies un ir aizmirsis par mums. Tāpēc, ja mēs pārejam no vienas vietnes lapas uz citu - PHP skripts nevar atcerēties datus no iepriekšējās lapas, piemēram, mainīgo vērtības.
Tomēr šāds mehānisms ir ļoti vajadzīgs, kaut gan tam, lai atcerētos lietotāja izvēli vai to, ka lietotājs bija autorizējies.
PHP lietotāja datu glabāšanai starp vietnes lapām ir paredzētas sesijas. Mēs varam ierakstīt jebkādu informāciju sesijā un nolasīt to no turienes nākamajā šī vai cita vietnes skripta palaišanā. Ar sesijas palīdzību var ieviest lietotāju autorizāciju, interneta veikala grozu un citu.
Lietotāja sesija tiek glabāta serverī. Tomēr tā pastāv ne mūžīgi, bet tikai apmēram pushoras - ja lietotājs šajā laikā neveica nevienu pieprasījumu uz vietni, tad tā sesija tiks izdzēsta un kļūs tukša.
Tātad, apskatīsim, kā strādāt
ar sesijām PHP.
Lai kaut ko ierakstītu sesijā, vispirms tā
jāinicializē ar funkcijas
session_start palīdzību:
<?php
session_start();
?>
Pēc inicializācijas mēs varam kaut ko ierakstīt
sesijā vai nolasīt kaut ko no turienes.
Tas tiek darīts ar superglobālā masīva
$_SESSION palīdzību.
Izmēģināsim praksē. Izveidosim failu
test1.php un ievietosim tajā šādu kodu:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // rakstām sesijā
?>
Un failā test2.php - šādu kodu:
<?php
session_start();
echo $_SESSION['test']; // lasām no sesijas
?>
Tagad sākumā atveriet pārlūkprogrammā failu
test1.php, un pēc tam test2.php.
Atverot otro failu pārlūkprogrammā, tiks izvadīts
tas, kas bija ierakstīts sesijā pirmajā failā.
Izveidojiet divus failus. Pirmā faila palaišanas laikā ierakstiet sesijā divus skaitļus, bet otrā faila palaišanas laikā - izvadiet ekrānā šo skaitļu summu.