Munkamenetek és űrlapok PHP-ban
Tegyük fel, hogy két PHP fájlunk van. Helyezzük a
test1.php fájlba az űrlapot, amely
két számot kér a felhasználótól:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Ugyanebben a fájlban helyezzük el az űrlap feldolgozására szolgáló kódot. Ebben a kódban az űrlap mezőinek adatait a munkamenetbe írjuk:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Fontos árnyalat: a fájlban az űrlap feldolgozó kódjának magát az űrlapot megelőzően kell állnia. Miért: mert ezen a kódon belül a munkamenettel dolgozunk, és ezért nem lehet semmilyen kimenet a képernyőre előtte.
Most keressük meg a
test2.php fájlban
a munkamenetben elmentett számok összegét:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
Milyen sorrendben kell mindennek működnie? Először a felhasználó a
test1.php oldalra lép, kitölti az űrlapot
és megnyomja a gombot. Ezután ismét a
test1.php oldalra kerül, de már az elküldött
űrlapadatokkal. Ekkor belekerül abba a feltételbe,
ahol az űrlap adatait a munkamenetbe írjuk.
Ezután a felhasználónak manuálisan kell a
test2.php oldalra lépnie - és ott meglátja
a beírt számok összegét.
Kérdezheted: miért kell ilyen bonyolultan csinálni? Hiszen
az űrlapot közvetlenül a
test2.php oldalra is el lehetne küldeni.
A dolog az, hogy ebben az esetben az a kényelem,
hogy maga az űrlap és a feldolgozó kódja
egy oldalon helyezkedik el.
Ez természetesen nem mindig kényelmes, de néha
szükséges.
Egy oldalon kérdezze meg a felhasználótól az űrlap segítségével a vezetéknevét, keresztnevét és korát. Írja ezeket az adatokat a munkamenetbe. Egy másik oldalra való belépéskor jelenítse meg ezeket az adatokat a képernyőn.