Zapisovanje polj v sejo PHP
Oglejmo si kodo, ki smo jo naredili v prejšnji lekciji:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Pravzaprav bi lahko vzeli in zapisali
vse podatke obrazca takoj v $_SESSION:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
V datoteki test2.php pa naredite takole:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Prednost tega pristopa je v tem, da bo naša koda delovala neodvisno od števila vnosnih polj v obrazcu.
Vendar obstaja tudi pomanjkljivost: s prepisovanjem
$_SESSION izbrišemo vse podatke,
ki so bili tam prej. Kdo ve, kaj je tja
zapisala naša druga skripta? Mi pa bomo to izbrisali.
Rajši storimo drugače:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Kot vidite, v sejno spremenljivko nismo zapisali
enotne vrednosti, ampak celotno polje.
Zdaj lahko v datoteki test2.php poiščemo
vsoto elementov tega polja:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Na eni strani z uporabo obrazca vprašajte
uporabnika za ime, starost, plačo in še
kaj drugega. Te podatke zapišite v eno sejno spremenljivko
v obliki polja. Ko greste na drugo
stran, se sprehodite skozi shranjene podatke z zanko
in izpišite vsak element polja v svoji
oznaki li oznake ul.