Sesijos PHP
Kai mes matome svetainės puslapį savo naršyklėje, PHP scenarijus šio puslapio jau seniai įvykdytas ir pamiršo apie mus. Todėl, jei mes pereiname iš vieno svetainės puslapio į kitą - PHP scenarijus negali atsiminti duomenų iš ankstesnio puslapio, pavyzdžiui, kintamųjų reikšmes.
Tačiau toks mechanizmas yra labai reikalingas, nors jau tam, kad atsiminti vartotojo pasirinkimą arba tai, kad vartotojas buvo autorizuotas.
PHP, skirti saugoti vartotojo duomenims tarp svetainės puslapių, yra sesijos. Mes galime įrašyti bet kokią informaciją į sesiją ir ją nuskaityti iš ten kitame šio ar kito svetainės scenarijaus paleidime. Naudojant sesiją galima įgyvendinti vartotojų autorizavimą, internetinės parduotuvės krepšelį ir kitą.
Vartotojo sesija saugoma serveryje. Tačiau ji gyvuoja ne amžinai, o tik apie push valandą - jei vartotojas per šį laiką neatliko jokių kreipimųsi į svetainę, tai jo sesija bus ištrinta ir taps tuščia.
Taigi, pažiūrėkime, kaip dirbti
su sesijomis PHP.
Kad ką nors įrašytumėte į sesiją, ją pirmiausia
reikia inicijuoti naudojant funkciją
session_start:
<?php
session_start();
?>
Po inicijavimo mes galime ką nors įrašyti
į sesiją arba ką nors iš ten perskaityti.
Tai daroma naudojant superglobalųjį masyvą
$_SESSION.
Pabandykime praktiškai. Sukurkime failą
test1.php ir patalpinkime jame tokį kodą:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // rašome į sesiją
?>
O faile test2.php - tokį kodą:
<?php
session_start();
echo $_SESSION['test']; // skaitome iš sesijos
?>
Dabar pirmiausia atidarykite naršyklėje failą
test1.php, o paskiau test2.php.
Atidarius antrąjį failą naršyklėje bus išvesta
tai, kas buvo įrašyta į sesiją pirmame faile.
Sukurkite du failus. Paleidus pirmąjį failą įrašykite į sesiją du skaičius, o paleidus antrąjį failą - išveskite į ekraną šių skaičių sumą.