Сесии и форми в PHP

Нека имаме два PHP файла. Нека във файла test1.php поставим форма, която пита потребителя за две числа:

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

В същия файл ще поставим кода за обработка на формата. В този код ще запишем данните от input полетата в сесията:

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

На една страница с помощта на форма попитайте потребителя за фамилия, име и възраст. Запишете тези данни в сесията. При влизане в друга страница изведете тези данни на екрана.