Memorizzazione di array nelle sessioni PHP

Consideriamo il codice realizzato da noi nella lezione precedente:

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

In realtà si poteva prendere e memorizzare tutti i dati del modulo subito in $_SESSION:

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

E nel file test2.php fare così:

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

Il vantaggio di questo approccio è che il nostro codice funzionerà indipendentemente dal numero di input nel modulo.

C'è, tuttavia, anche uno svantaggio: sovrascrivendo $_SESSION cancelliamo tutti i dati che erano lì precedentemente. Chissà cosa ci ha scritto un altro nostro script? E noi lo eliminiamo.

Facciamo in un altro modo:

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

Come potete vedere, nella variabile di sessione abbiamo memorizzato non un singolo valore, ma un intero array. Ora nel file test2.php possiamo trovare la somma degli elementi di questo array:

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

Su una pagina, utilizzando un modulo, chiedi all'utente nome, età, stipendio e qualcos'altro. Memorizza questi dati in una variabile di sessione sotto forma di array. Quando accedi a un'altra pagina, scorri i dati salvati con un ciclo e visualizza ogni elemento dell'array nel proprio tag li del tag ul.