PHP-ում սեսիաները և ձևերը
Ենթադրենք ունենք երկու PHP ֆայլ: Եկեք
test1.php ֆայլում տեղադրենք ձև, որը
կհարցնի օգտատիրոջից երկու թիվ.
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Նույն ֆայլում տեղադրենք ձևի մշակման կոդ: Այս կոդում մենք կգրենք input-ների տվյալները սեսիայի մեջ.
<?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 էջ: Բանն այն է, որ այս
դեպքում հարմարավետությունը կայանում է նրանում, որ հենց ձևը և դրա
մշակման կոդը տեղադրվում են մեկ էջում:
Իհարկե, դա միշտ չէ, որ հարմար է, բայց երբեմն
դա անհրաժեշտ է լինում:
Մեկ էջում օգտագործելով ձև, հարցրեք օգտատիրոջից ազգանունը, անունը և տարիքը: Գրանցեք այդ տվյալները սեսիայի մեջ: Մեկ այլ էջ մուտք գործելիս արտածեք այդ տվյալները էկրանին: