PHP-da Sessiyalar va Formalar
Faraz qilaylik, bizda ikkita PHP fayli bor. Keling,
test1.php faylida foydalanuvchidan ikkita son
so‘raydigan formani joylashtiramiz:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Shu faylda formani qayta ishlash kodini joylashtiramiz. Ushbu kodda biz inputlarning ma'lumotlarini sessiyaga yozamiz:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Muhim nuqta: faylda formani qayta ishlash kodi formaning o‘zidan oldin turishi kerak. Nima uchun: chunki ushbu kodda biz sessiya bilan ishlaymiz, shuning uchun bundan oldin ekranga hech qanday chiqish bo‘lmasligi kerak.
Keling endi test2.php faylida sessiyada saqlangan
sonlar yig‘indisini topamiz:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
Bularning hammasi qanday tartibda ishlashi kerak? Avval foydalanuvchi
test1.php sahifasiga kiradi, formani to‘ldiradi
va tugmani bosadi. Shundan so‘ng u yana
test1.php sahifasiga tushadi, lekin endi yuborilgan
forma ma'lumotlari bilan. Bunda u shartga tushadi,
unda biz forma ma'lumotlarini sessiyaga yozamiz.
Keyin foydalanuvchi test2.php sahifasiga qo‘lda
kirishi kerak - va u yerda u kiritilgan sonlar yig‘indisini
ko‘radi.
Siz so‘rashingiz mumkin: nima uchun shunday murakkablashtirish? Axir
forma darhol test2.php sahifasiga yuborilishi mumkin edi.
Gap shundaki, bu holda
qulaylik shundaki, formaning o‘zi va uning
qayta ishlash kodi bitta sahifada joylashgan.
Albatta, bu har doim ham qulay emas, lekin ba'zan
kerak bo‘ladi.
Bitta sahifada forma yordamida foydalanuvchidan familiyasi, ismi va yoshini so‘rang. Ushbu ma'lumotlarni sessiyaga yozing. Boshqa sahifaga kirganda ushbu ma'lumotlarni ekranga chiqaring.