Сесије и форме у PHP-у

Рецимо да имамо два PHP фајла. Хајде да у фајлу test1.php поставимо форму која пита корисника за два броја:

test1.php<form method="GET">
  <input name="num1">
  <input name="num2">
  <input type="submit">
</form>

У овом истом фајлу поставимо код за обраду форме. У овом коду ћемо уписати податке са инпута у сесију:

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

Важан нијанс: у фајлу, код за обраду форме мора да стоји пре саме форме. Зашто: зато што у овом коду радимо са сесијом, а то значи да не би требало да буде никаквог исписа на екран пре тога.

Хајде сада у фајлу test2.php да пронађемо збир бројева сачуваних у сесији:

test2.php<?php
  if (!empty($_SESSION)) {
    echo $_SESSION['num1'] + $_SESSION['num2'];
  }
?>

У ком редоследу све ово треба да ради? Прво корисник оде на страницу test1.php, попуни форму и кликне на дугме. Након тога он поново доспева на test1.php, али сада са послатим подацима форме. При томе он доспева у услов, у коме уписујемо податке форме у сесију.

Затим корисник треба ручно да оде на страницу test2.php - и тада ће видети збир унетих бројева.

Можете да питате: чему тако компликовати? Јер може се форма одмах послати на страницу test2.php. Ствар је у томе што је у овом случају погодно то што сама форма и код њене обраде се налазе на једној страници. Такво, наравно, није увек погодно, али понекад буде потребно.

Задание 1

На једној страници уз помоћ форме питајте корисника за презиме, име и године. Упишите те податке у сесију. При одласку на другу страницу испишите те податке на екран.