Stoor van skikkings in PHP-sessies

Laat ons die kode wat ons in die vorige les gemaak het, oorweeg:

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

Eintlik kon ons al die vormdata dadelik in $_SESSION gestoor het:

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

En in die lêer test2.php dit so maak:

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

Die voordeel van hierdie benadering is dat ons kode sal werk, ongeag die aantal invoervelde in die vorm.

Daar is egter ook 'n nadeel: deur $_SESSION te oor te skryf, wis ons alle data wat voorheen daar was. Ons weet nie wat 'n ander skrip dalk daar gestoor het nie? En ons sal dit verwyder.

Kom ons doen dit anders:

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

Soos jy kan sien, het ons nie net een waarde in die sessieveranderlike gestoor nie, maar 'n hele skikking. Nou kan ons in die lêer test2.php die som van die elemente van hierdie skikking vind:

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

Op een bladsy, met behulp van 'n vorm, vra die gebruiker om naam, ouderdom, salaris en nog 'n paar ander dinge. Stoor hierdie data in een sessieveranderlike in die vorm van 'n skikking. Wanneer na 'n ander bladsy gegaan word, deurloop die gestoorde data met 'n lus en vertoon elke element van die skikking in sy eie li tag binne 'n ul tag.