Tömbök mentése PHP sessionökbe
Nézzük meg az előző leckében készített kódot:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Valójában az összes űrlapadatot rögtön be lehetett volna írni
a $_SESSION-ba:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
És a test2.php fájlban pedig így kell csinálni:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Ennek a megközelítésnek az az előnye, hogy a kódunk függetlenül működik az űrlap mezőinek számától.
Van azonban hátránya is: a
$_SESSION felülírásával minden korábbi
adatot kitörlünk onnan. Ki tudja, mit írt oda
egy másik szkriptünk? És mi ezt töröljük.
Csináljuk másképp:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Amint látod, a session változóba nem csak egy
adatot, hanem egy egész tömböt mentettünk.
Most a test2.php fájlban megkereshetjük
a tömb elemeinek összegét:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Egy oldalon kérdezd meg a felhasználótól egy űrlap segítségével
a nevét, korát, fizetését és még valami mást is.
Mentsd el ezeket az adatokat egy session változóba tömb formájában.
Egy másik oldal betöltésekor járjuk be a mentett adatokat egy ciklussal
és minden tömb elemet egy saját li tagben jelenítsünk meg
egy ul tagben.