Sessioner och formulär i PHP

Låt oss säga att vi har två PHP-filer. Låt oss i filen test1.php placera ett formulär som frågar användaren om två tal:

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

I samma fil placerar vi koden som hanterar formuläret. I den här koden kommer vi att skriva indata från fälten till sessionen:

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

En viktig nyans: i filen måste koden för formulärhantering placeras före själva formuläret. Varför: för att i den här koden arbetar vi med sessionen, och därför får det inte finnas någon utskrift till skärmen före detta.

Låt oss nu i filen test2.php hitta summan av de tal som sparats i sessionen:

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

I vilken ordning ska allt detta fungera? Först går användaren till sidan test1.php, fyller i formuläret och klickar på knappen. Efter det hamnar de igen på test1.php, men nu med inskickade formulärdata. Då hamnar de i villkoret där vi skriver formulärdatan till sessionen.

Sedan måste användaren manuellt gå till sidan test2.php - och där kommer de att se summan av de inmatade talen.

Du kanske frågar: varför krångla till det så här? Vi kunde ju ha skickat formuläret direkt till sidan test2.php. Saken är den att fördelen i detta fall är att själva formuläret och koden som hanterar det finns på samma sida. Detta är naturligtvis inte alltid bekvämt, men ibland kan det vara nödvändigt.

Задание 1

På en sida, använd ett formulär för att fråga användaren om efternamn, förnamn och ålder. Spara dessa data i sessionen. När du går till en annan sida, visa dessa data på skärmen.