Massiivide salvestamine PHP sessiooni
Vaatleme koodi, mille me eelmises õppetükis tegime:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Tegelikult oleks võinud võtta ja salvestada
kogu vormi andmed korraga $_SESSION-i:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
Ja failis test2.php teha nii:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Selle lähenemise eelis on see, et meie kood töötab sõltumata vormi sisendite arvust.
Siiski on ka puudus: ülekirjutades
$_SESSION, me kustutame kõik andmed,
mis seal varem olid. Kes teab, mida mõni
meie teine skript sinna on kirjutanud?
Aga me kustutame selle.
Teeme teisiti:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Nagu näete, salvestasime sessiooni muutujasse
mitte ühte kindlat väärtust, vaid terve massiivi.
Nüüd saame failis test2.php leida
selle massiivi elementide summa:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Küsi ühel lehel vormi abil kasutajalt
nimi, vanus, palk ja veel midagi.
Salvesta need andmed ühte sessiooni
muutujasse massiivi kujul. Teisele
lehele sisenedes võta salvestatud
andmed tsükliga läbi ja kuva iga
massiivi element oma
li silmus ul silmuse sees.