Enregistrement de tableaux dans les sessions PHP

Examinons le code que nous avons créé dans la leçon précédente :

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

En réalité, on aurait pu prendre et enregistrer toutes les données du formulaire directement dans $_SESSION :

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

Et dans le fichier test2.php, faire comme ceci :

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

L'avantage de cette approche est que notre code fonctionnera indépendamment du nombre de champs dans le formulaire.

Il y a cependant un inconvénient : en réécrivant $_SESSION, nous effaçons toutes les données qui s'y trouvaient auparavant. Qui sait ce qu'un autre de nos scripts y avait mis ? Et nous, nous le supprimons.

Procédons autrement :

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

Comme vous le voyez, dans la variable de session, nous avons enregistré non pas une seule valeur, mais un tableau entier. Maintenant, dans le fichier test2.php, nous pouvons trouver la somme des éléments de ce tableau :

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

Sur une page, demandez à l'utilisateur, via un formulaire, son nom, son âge, son salaire et autre chose. Enregistrez ces données dans une variable de session sous forme de tableau. Lors de l'accès à une autre page, parcourez les données sauvegardées avec une boucle et affichez chaque élément du tableau dans sa propre balise li de la balise ul.