Masyvų įrašymas PHP sesijose
Panagrinėkime kodą, kurį sukūrėme ankstesnėje pamokoje:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Tiesą sakant, buvo galima paimti ir iš karto įrašyti
visus formos duomenis į $_SESSION:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
O faile test2.php padaryti taip:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Šio požiūrio pranašumas yra tas, kad mūsų kodas veiks nepriklausomai nuo įvesties laukų skaičiaus formoje.
Tačiau yra ir trūkumas: perrašydami
$_SESSION mes ištriname visus duomenis,
kurie ten buvo anksčiau. Kas žino, ką ten
įrašė kitas mūsų scenarijus? O mes tai pašaliname.
Elkimės kitaip:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Kaip matote, į sesijos kintamąjį mes įrašėme
ne vieną reikšmę, o visą masyvą.
Dabar faile test2.php galime rasti
šių masyvo elementų sumą:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Viename puslapyje, naudodamiesi forma, paklauskite
vartotojo vardo, amžiaus, atlyginimo ir dar ko nors.
Įrašykite šiuos duomenis į vieną sesijos kintamąjį
masyvo pavidalu. Įėjus į kitą puslapį, pereikite per
išsaugotus duomenis ciklu ir kiekvieną masyvo elementą
atvaizduokite savo li žymėje ul žymės viduje.