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 файлын ашыңыз.
Екінші файлды ашқан кезде, бірінші файлда сессияға жазылған
мән шығарылады.
Екі файл жасаңыз. Бірінші файлды іске қосқанда сессияға екі сан жазыңыз, ал екінші файлды іске қосқанда - осы сандардың қосындысын экранға шығарыңыз.