PHP-ում սեսիաներ

Երբ մենք տեսնում ենք կայքի էջը մեր բրաուզերում, այդ էջի PHP սկրիպտը արդեն վաղուց ավարտել է աշխատանքը և մոռացել մեր մասին: Ուստի, եթե մենք անցնում ենք կայքի մի էջից մյուսը՝ PHP սկրիպտը չի կարող հիշել նախորդ էջի տվյալները, օրինակ՝ փոփոխականների արժեքները:

Սակայն, նման մեխանիզմը շատ անհրաժեշտ է, թեկուզ միայն այն պատճառով, որ հիշի օգտագործողի ընտրությունը կամ այն, որ օգտագործողը լոգին է եղել:

PHP-ում կայքի էջերի միջև օգտագործողի տվյալները պահելու համար նախատեսված են սեսիաներ: Մենք կարող ենք որոշ տեղեկություն գրել սեսիայի մեջ և կարդալ այն այնտեղից այս կամ այլ սկրիպտի հաջորդ աշխատանքի ժամանակ: Սեսիայի օգնությամբ կարելի է իրականացնել օգտագործողների լոգին, ինտերնետ-խանութի զամբյուղ և այլն:

Օգտագործողի սեսիան պահվում է սերվերում: Սակայն այն ապրում է ոչ թե հավերժ, այլ ընդամենը մոտ կես ժամ. եթե օգտագործողը այդ ժամանակահատվածում չի կատարել որևէ դիմում կայքին, ապա նրա սեսիան կջնջվի և դատարկ կդառնա:

Այսպիսով, եկեք նայենք, թե ինչպես աշխատել սեսիաների հետ PHP-ում: Որևէ բան սեսիայի մեջ գրելու համար այն նախ պետք է ինիցիալիզացնել session_start ֆունկցիայի միջոցով.

php<?php
  session_start();
?>

Ինիցիալիզացումից հետո մենք կարող ենք ինչ-որ բան գրել սեսիայի մեջ կամ կարդալ ինչ-որ բան այնտեղից: Սա արվում է $_SESSION սուպերգլոբալ զանգվածի միջոցով:

Փորձենք գործնականում: Ստեղծենք test1.php ֆայլը և տեղադրենք դրանում հետևյալ կոդը.

test1.php<?php
  session_start();
  $_SESSION['test'] = 'abcde'; // գրում ենք սեսիայի մեջ
?>

Իսկ test2.php ֆայլում՝ հետևյալ կոդը.

test2.php<?php
  session_start();
  echo $_SESSION['test']; // կարդում ենք սեսիայից
?>

Այժմ սկզբից բրաուզերում բացեք test1.php ֆայլը, ապա՝ test2.php ֆայլը: Երկրորդ ֆայլը բրաուզերում բացելիս կցուցադրվի այն, ինչ գրվել էր սեսիայի մեջ առաջին ֆայլում:

Задание 1

Ստեղծեք երկու ֆայլ: Առաջին ֆայլի աշխատացման ժամանակ գրեք սեսիայի մեջ երկու թիվ, իսկ երկրորդ ֆայլի աշխատացման ժամանակ՝ էկրանին արտածեք այդ թվերի գումարը: