PHP-de Sessiýalar we Formalar
Bizde iki PHP faýly bolsun. Geliň
test1.php faýlynda ulanyjydan iki sany
sany sorap ýatan formany ýerleşdireliň:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Şu faýlyň içinde formany işleýän kody ýerleşdireliň. Bu kodda inputlaryň maglumatlaryny sessiýa ýazarys:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Möhüm nuans: faýlda formany işleýän kod formanyň özünden öň gelmeli. Sebäbi: sebäbi bu kodda biz sessiýa bilen işleýäris, şonuň üçin munuň öňünde ekrana hiç hili çap bolmaly däl.
Geliň indi test2.php faýlynda
sessiýada saklanan sanlaryň jemini tapalyň:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
Bu hemmesi haýsy tertipde işlemeli? Ilki ulanyjy
test1.php sahypasyna girer, formany doldurar
we düwmä basar. Şondan soň ol ýene
test1.php sahypasyna düşýär, ýöne indi ugradylan
formanyň maglumatlary bilen. Bu ýagdaýda ol şert düşüşine düşýär,
onda biz formanyň maglumatlaryny sessiýa ýazýarys.
Soňra ulanyjy el bilen
test2.php sahypasyna girmeli - we ol şu ýerde
girizilen sanlaryň jemini görer.
Siz sorap bilersiňiz: Näme üçin şeýle çylşyrymly etmeli? Sebäbi
formany derrew test2.php sahypasyna ugradyp bolardy. Bu
ýagda amatlylyk şu ýerde, formanyň özi we ony
işleýän kod bir sahypada ýerleşýär.
Bu, elbetde, hemme ýagda amatly däl, ýöne käwagt
gerek bolup bilýär.
Bir sahypada forma kömegi bilen ulanyjydan familiýasyny, adyny we ýaşyny soraň. Bu maglumatlary sessiýa ýazyň. Beýleki sahypa girilende bu maglumatlary ekrana çykaryň.