Masīvu ierakstīšana PHP sesijās

Apskatīsim kodu, ko izveidojām iepriekšējā nodarbībā:

html<?php
  if (!empty($_GET)) {
    $_SESSION['num1'] = $_GET['num1'];
    $_SESSION['num2'] = $_GET['num2'];
  }
?>

Patiesībā varēja paņemt un ierakstīt visus formas datus uzreiz $_SESSION:

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

Un failā test2.php izdarīt šādi:

test2.php<?php
  if (!empty($_SESSION)) {
    echo array_sum($_SESSION);
  }
?>

Šādas pieejas priekšrocība ir tā, ka mūsu kods darbosies neatkarīgi no ievades lauku skaita formā.

Tomēr ir arī trūkums: pārrakstot $_SESSION mēs aizstājam visus datus, kas tur bija iepriekš. Kas tad, ja kāds cits mūsu skripts tur kaut ko ierakstīja? Un mēs to izdzēsīsim.

Rīkosimies citādi:

test2.php<?php
  if (!empty($_GET)) {
    $_SESSION['nums'] = $_GET;
  }
?>

Kā redzat, sesijas mainīgajā mēs ierakstījām nevis kādu atsevišķu vērtību, bet gan veselu masīvu. Tagad failā test2.php varam atrast šī masīva elementu summu:

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

Vienā lapā, izmantojot formu, pajautājiet lietotājam vārdu, vecumu, algu un vēl kaut ko. Ierakstiet šos datus vienā sesijas mainīgajā masīva veidā. Ieejot citā lapā, izmantojot ciklu, izvadiet saglabātos datus katru masīva elementu savā tagā li tagā ul.