PHP-də sessiyalara massivlərin yazılması
Əvvəlki dərsdə etdiyimiz kodu nəzərdən keçirək:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Əslində, formanın bütün məlumatlarını birbaşa
$_SESSION-ə yazmaq olardı:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
test2.php faylında isə belə edə bilərik:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Bu yanaşmanın üstünlüyü ondadır ki, bizim kod formada neçə input olmasından asılı olmayaraq işləyəcək.
Lakin, çatışmazlıq da var: $_SESSION-i yenidən
yazmaqla əvvəllər orada olan bütün məlumatları silirik.
Bəlkə də başqa skript oraya nəsə yazıb? Biz isə onu silirik.
Gəlin başqa cür edək:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Gördüyünüz kimi, sessiya dəyişəninə tək bir dəyər deyil,
bütöv bir massiv yazdıq. İndi test2.php faylında
bu massivin elementlərinin cəmini tapa bilərik:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Bir səhifədə formadan istifadə edərək istifadəçidən
ad, yaş, maaş və başqa bir şey soruşun. Bu məlumatları
sessiyanın bir dəyişəninə massiv şəklində yazın. Digər
səhifəyə daxil olduqda, saxlanılan məlumatları tsikl ilə
gəzin və hər bir massiv elementini ul teqinin
li teqində çıxarın.