PHP сессиясында массивтерді жазу

Алдыңғы сабақта жасаған кодты қарастырайық:

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

Шын мәнінде, бәрін бірден $_SESSION-ке жазуға болатын:

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

Ал test2.php файлында былай жасауға болады:

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

Бұл тәсілдің артықшылығы - біздің код пішіндегі ендірулердің санына тәуелсіз жұмыс істейді.

Алайда, кемшілігі де бар: $_SESSION-ті қайта жазу арқылы біз бұрын онда болған барлық деректерді өшіреміз. Біздің басқа скрипт онда не жазғанын білесіз бе? Ал біз оны жоямыз.

Баскаша әрекет етейік:

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

Көріп отырғаныңыздай, біз сессия айнымалысына бір нақты мән емес, тұтас массив жаздық. Енді test2.php файлында осы массив элементтерінің қосындысын таба аламыз:

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

Бір бетте пішім арқылы пайдаланушыдан атын, жасын, жалақысын және тағы басқа нәрсені сұраңыз. Бұл деректерді сессияның бір айнымалысына массив түрінде жазыңыз. Басқа бетке кірген кезде, сақталған деректерді цикл арқылы қайталап, әрбір массив элементін ul тегінің li тегінде шығарыңыз.