Ukladanie polí v session PHP
Pozrime sa na kód, ktorý sme vytvorili v predchádzajúcej lekcii:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
V skutočnosti sme mohli vziať a uložiť
všetky údaje z formulára naraz do $_SESSION:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
A v súbore test2.php urobiť toto:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Výhoda tohto prístupu spočíva v tom, že náš kód bude fungovať nezávisle od počtu vstupov (inputov) vo formulári.
Avšak, existuje aj nevýhoda: prepísaním
$_SESSION vymažeme všetky údaje,
ktoré tam predtým boli. Ktovie, čo tam
zapísal náš iný skript? A my to teraz vymažeme.
Urobme to inak:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Ako vidíte, do premennej session sme uložili
nie jednu konkrétnu hodnotu, ale celé pole.
Teraz v súbore test2.php môžeme nájsť
súčet prvkov tohto poľa:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Na jednej stránke pomocou formulára sa spýtajte
používateľa na meno, vek, plat a ešte
niečo iné. Uložte tieto údaje do jednej premennej
session vo forme poľa. Pri prechode na druhú
stránku prejdite uložené údaje cyklom
a vypíšte každý prvok poľa vo svojom
prvku li prvku ul.