Čuvanje nizova u PHP sesiji
Razmotrimo kod koji smo napravili u prethodnoj lekciji:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Zapravo, mogli smo da uzmemo i zapišemo
sve podatke iz forme odjednom u $_SESSION:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
A u fajlu test2.php uraditi ovako:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Prednost ovog pristupa je u tome što će naš kod raditi nezavisno od broja input polja u formi.
Međutim, postoji i nedostatak: prepisivanjem
$_SESSION mi brišemo sve podatke
koji su tamo ranije bili. Ko zna šta je tamo
upisao neki drugi naš skript? A mi ćemo to izbrisati.
Hajde da postupimo drugačije:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Kao što vidite, u promenljivu sesije smo zapisali
ne jednu vrednost, već ceo niz.
Sada u fajlu test2.php možemo da nađemo
zbir elemenata tog niza:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Na jednoj stranici pomoću forme pitajte
korisnika za ime, godine, platu i još
nešto. Sačuvajte te podatke u jednu promenljivu
sesije u obliku niza. Prilikom ulaska na drugu
stranicu, prođite kroz sačuvane podatke petljom
i prikažite svaki element niza u svom
tegu li tega ul.