PHPдеги сессиялар жана формалар
Бизде эки PHP файлы болсун. Келгиле
test1.php файлында колдонуучудан
эки санды сураган форманы жайгаштыралы:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Ошол эле файлда форманы иштетүү кодунун жайгаштыралы. Бул коддо биз инпуттардын маалыматтарын сессияга жазабыз:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Маанилүү нюанс: файлда форманы иштетүү коду форманын өзүнөн мурун турушу керек. Эмне үчүн: анткени бул коддо биз сессия менен иштейбиз, жана демек, мурун экранга эч кандай чыгаруу болбошу керек.
Келгиле азыр test2.php файлында
сессияда сакталган сандардын суммасын табабыз:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
Булардын баары кандай ыраатта иштеши керек? Адегенде колдонуучу
test1.php бетине кирет,
форманы толтурат жана баскычты басат.
Андан кийин ал дагы эле
test1.php бетине түшөт, бирок эми жөнөтүлгөн
форманын маалыматтары менен. Бул учурда ал шарттын ичине түшөт,
ал жерде биз форманын маалыматтарын сессияга жазабыз.
Андан кийин колдонуучу кол менен
test2.php бетине кириши керек - ал жерде ал
киргизилген сандардын суммасын көрөт.
Сиз сурашыңыз мүмкүн: эмне үчүн ушунчалык татаалдаштыруу керек? Анткени
форманы түз эле test2.php бетине жөнөтсө болот эле.
Иши мындай, бул учурда ыңгайлуулук - форманын өзү жана аны иштетүү коду
бир баракта жайгаштырылат.
Бул, албетте, ар дайым ыңгайлуу эмес, бирок кээде
керек болот.
Бир баракта форманын жардамы менен колдонуучудан фамилиясын, атын жана жашын сурагыла. Бул маалыматтарды сессияга жазыгыла. Башка баракка киргенде бул маалыматтарды экранга чыгарыгыла.