Munkamenetek a PHP-ban
Amikor egy weboldalt látunk a böngészőnkben, az oldal PHP szkriptje már rég végzett a munkával és elfelejtett minket. Ezért, ha egyik oldalról a másikra navigálunk - a PHP szkript nem tudja megjegyezni az előző oldal adatait, például a változók értékeit.
Egy ilyen mechanizmus azonban nagyon szükséges, már csak azért is, hogy emlékezzen a felhasználó választására vagy arra, hogy a felhasználó be volt jelentkezve.
A PHP-ban a felhasználói adatok oldalak közötti tárolására a munkamenetek szolgálnak. Bármilyen információt el tudunk menteni a munkamenetbe és onnan olvasni azt ugyanannak vagy egy másik szkriptnek a következő futtatásakor. A munkamenet segítségével megvalósítható a felhasználók azonosítása, egy internetes áruház kosara és egyéb funkciók.
A felhasználó munkamenete a szerveren tárolódik. Ugyanakkor nem örökké él, csak nagyjából fél óráig - ha a felhasználó ezalatt nem végzett semmilyen kérést a weboldalhoz, akkor a munkamenete törlődik és üressé válik.
Nos, nézzük meg, hogyan kell dolgozni
a munkamenetekkel a PHP-ban.
Ahhoz, hogy valamit a munkamenetbe menthessünk, azt először
el kell indítanunk a session_start függvénnyel:
<?php
session_start();
?>
Az inicializálás után már írhatunk valamit
a munkamenetbe vagy olvashatunk onnan valamit.
Ez a $_SESSION szuperglobális tömb segítségével történik.
Próbáljuk ki gyakorlatban. Készítsünk egy
test1.php fájlt és helyezzük el benne a következő kódot:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // írunk a munkamenetbe
?>
Az test2.php fájlban pedig a következő kódot:
<?php
session_start();
echo $_SESSION['test']; // olvasunk a munkamenetből
?>
Most először nyissa meg a böngészőjében a
test1.php fájlt, majd a test2.php fájlt.
A második fájl megnyitásakor a böngészőben megjelenik
az, ami az első fájlban a munkamenetbe volt írva.
Készítsen két fájlt. Az első fájl futtatásakor menten a munkamenetbe két számot, a második fájl futtatásakor pedig írja ki a képernyőre ezeknek a számoknak az összegét.