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 ֆայլը:
Երկրորդ ֆայլը բրաուզերում բացելիս կցուցադրվի
այն, ինչ գրվել էր սեսիայի մեջ առաջին ֆայլում:
Ստեղծեք երկու ֆայլ: Առաջին ֆայլի աշխատացման ժամանակ գրեք սեսիայի մեջ երկու թիվ, իսկ երկրորդ ֆայլի աշխատացման ժամանակ՝ էկրանին արտածեք այդ թվերի գումարը: