Masyvų įrašymas PHP sesijose

Panagrinėkime kodą, kurį sukūrėme ankstesnėje pamokoje:

html<?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:

test1.php<?php
  if (!empty($_GET)) {
    $_SESSION = $_GET;
  }
?>

O faile test2.php padaryti taip:

test2.php<?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:

test2.php<?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ą:

test2.php<?php
  if (!empty($_SESSION)) {
    echo array_sum($_SESSION['nums']);
  }
?>
Задание 1

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.