Seje in obrazci v PHP

Recimo, da imamo dve PHP datoteki. V datoteki test1.php postavimo obrazec, ki vpraša uporabnika dve številki:

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

V tej isti datoteki postavimo kodo za obdelavo obrazca. V tej kodi bomo podatke iz vnosnih polj zapisali v sejo:

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

Pomemben odtenek: v datoteki mora biti koda za obdelavo obrazca postavljena pred sam obrazec. Zakaj: ker v tej kodi delamo s sejo, in zato ne sme biti nobenega izpisa na zaslon pred tem.

Sedaj v datoteki test2.php poiščimo vsoto števil, shranjenih v seji:

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

V kakšnem zaporedju naj vse to deluje? Najprej uporabnik obišče stran test1.php, izpolni obrazec in pritisne na gumb. Po tem spet pride na test1.php, vendar že z oddanimi podatki obrazca. Pri tem pride v pogoj, v katerem zapišemo podatke obrazca v sejo.

Nato mora uporabnik ročno obiskati stran test2.php - in tam bo videl vsoto vnešenih števil.

Lahko se vprašate: zakaj tako komplicirati? Saj bi lahko obrazec takoj poslali na stran test2.php. Bistvo je v tem, da je v tem primeru priročnost v tem, da sta sam obrazec in koda njegove obdelave nameščena na isti strani. To seveda ni vedno priročno, vendar včasih je potrebno.

Задание 1

Na eni strani z uporabo obrazca vprašajte uporabnika priimek, ime in starost. Zapišite te podatke v sejo. Pri obisku druge strane izpišite te podatke na zaslon.