PHP-də sessiyalar və formalar
Tutaq ki, bizim iki PHP faylımız var. Gəlin
faylı test1.php içində istifadəçidən
iki ədəd soruşan form yerləşdirək:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Bu faylda formanın emalı üçün kodu yerləşdirək. Bu kodda biz inputların məlumatlarını sessiyaya yazacayıq:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Vacib nüans: faylda formanın emalı kodu formanın özündən əvvəl olmalıdır. Niyə: çünki bu kodda biz sessiya ilə işləyirik və bu səbəbdən ekrana heç bir çıxış olmamalıdır bundan əvvəl.
Gəlin indi test2.php faylında sessiyada
saxlanılan ədədlərin cəmini tapaq:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
Bunun hamısı hansı ardıcıllıqla işləməlidir? Əvvəlcə istifadəçi
səhifəyə test1.php daxil olur, formanı doldurur
və düyməni basır. Bundan sonra o yenə də gəlir
test1.php səhifəsinə, ancaq artıq göndərilmiş
forma məlumatları ilə. Bu zaman o şərtə daxil olur,
hansında ki, biz forma məlumatlarını sessiyaya yazırıq.
Sonra istifadəçi əl ilə daxil olmalıdır
test2.php səhifəsinə - və orada o görəcək
daxil edilmiş ədədlərin cəmini.
Siz soruşa bilərsiniz: nə üçün belə mürəkkəbləşdirək? Axı
dərhal formanı səhifəyə göndərmək olardı
test2.php. Məsələ ondadır ki, bu
halda rahatlıq ondadır ki, forma özü və onun emalı kodu
eyni səhifədə yerləşir.
Əlbəttə ki, bu həmişə rahat deyil, ancaq bəzən
lazım ola bilər.
Bir səhifədə forma vasitəsilə istifadəçidən soyadı, adı və yaşı soruşun. Bu məlumatları sessiyaya yazın. Digər səhifəyə daxil olduqda bu məlumatları ekranda çap edin.