Visszalép

PHP $_SESSION szuper globális változó

A POST vagy GET formátumban továbbított adatok, feldolgozást követően elvésznek (megsemmisülnek).
Eddig a $_SESSION szuper globális változót arra alkalmaztuk, hogy az űrlapokról elküldött adatok közül azokat rögzítsük, melyekkel a továbbiakban, tetszőleges elnevezésű, PHP kiterjesztésű fájlban, további műveleteket fogunk végrehajtani.
Ebben a teszt fájlban, nem hozunk létre űrlapot!
A $_SESSION szuper globális változót arra alkalmazzuk, hogy az általunk rendszeresen alkalmazott adatokat tárolja, és ne keljen minden alkalommal újra és újra létrehozni azokat, hogy tetszőleges műveletet végezhessünk velük.

session_start(); függvényt, csak akkor kell meghívni, ha a $_SESSION['valami'] = $adat; szuper globális változóban szeretnénk adatot tárolni.

Minden egyes $_SESSION['elemnév'] szuper globális változónak, egyedi (ékezet nélküli) elemnévvel kell rendelkeznie, hogy elkülönüljenek egymástól.

Adatok követése egyszerű legyen a teszt oldalakon: A szuper globális $_SESSIN elemnevek, "ses_" karakterekkel, kezdődnek.


<?php 
session_start();                 // Így kezdődjön minden olyan fájl, melyben $_SESSION szuper globális változót hozunk létre.

// A következő adatokat felhasználhatjuk, tetszőleges elnevezésű, php kiterjesztésű fájlba.

$felh_neve ='Zoli';
$allat ='Zöld elefánt';
$noveny ='Zöld gyep';
$a = 10;
$b = 20;
$c = 30;


		$_SESSION['ses_felh'] = $felh_neve;
		$_SESSION['ses_allat'] = $allat;
		$_SESSION['ses_noveny'] = $noveny;
		$_SESSION['ses_adat01'] = $a;
		$_SESSION['ses_adat02'] = $b;
		$_SESSION['ses_adat03'] = $c;
		
?>

Megjegyzés:
$_SESSION['elemnév'] és a hozzá tartozó adat, mint szuper globális változó, addig van életben, azaz, addig használható, ameddig:
-- Felhasználó a webhelyünkön tartózkodik.
-- Felhasználó a böngésző programját be nem zárja.
-- A program készítője egy meghatározott időre hozta létre, és ezt követően megsemmisül.

Minden alkalommal, amikor $_SESSION változót hozunk létre, vagy a már létrehozottban tárolt adatot akarjuk lekérdezni, meg kell hívni a session_start () függvényt.
A $_SESSION változó létrehozását, vagy módosítását, nem előzheti meg <html> kimenet.
Minden olyan oldalon, melyben a benne tárolt adatot szeretnénk lekérdezni vagy módosítani, meg kell hívni a session_start () függvényt.
De a meghívását, szintén nem előzheti meg html kimenet.
Az adatok lekérdezése szempontjából mindegy, hogy mely területen kérdezzük le, PHP szkriptben, vagy html elemek között elhelyezett PHP szkriptben.

 


$_SESSION felhasználása, oldal megtekintésének számlálására.


 

PHP Session indítása:
Megjegyzés: 
A session_start () függvénynek, a  <html> tag előtt kell  megjelennie:

		<?php session_start(); ?>

		<html>
		<body>

		</body>
		</html>

A fenti kód regisztrálja a felhasználó munkamenetet a kiszolgálóval. 
Ezt követően rögzíthatjük, azaz, tárolhatjuk el a felhasználói adatokat.

 

SESSION megsemmisítése.

Az unset () vagy a session_destroy () függvénnyel.
Az unset () függvény, a megadott munkamenet változót törli:
		<?php
			session_start();
			if(isset($_SESSION['views']))
			unset($_SESSION['views']);
		?>
		
A session_destroy () függvény, az összes  munkamenet változót törli:
Megjegyzés: session_destroy () visszaállítja a munkamenetet, és elveszíti az összes tárolt munkamenet adatát vagy adatait.
		<?php
			session_destroy();
		?>

 

session_is_registered
(PHP 4, PHP 5)
session_is_registered — Egy változó munkamenetbeni bejegyzettségét ellenőrzi
Leírás
bool session_is_registered ( string $name )

A session_is_registered() TRUE értékkel tér vissza, ha a name nevű globális változó be van jegyezve az aktuális munkamenet változójaként.

Megjegyzés:
Ha a $_SESSION (vagy $HTTP_SESSION_VARS PHP 4.0.6 vagy korábbi verziókban) tömböket használod, az isset() függvény hívásával derítheted ki, hogy a változó be van-e jegyezve a munkamenetbe.

Vigyázat! Figyeljünk oda!
A $_SESSION (vagy $HTTP_SESSION_VARS) tömb használata esetén, ne hívjuk meg a következő függvényeket:
- session_register()
- session_is_registered()
- session_unregister()

A session_start () függvény minden PHP fájlunknál, az elején legyen.
Ezen függvény előtt, nem lehet <html> tag (jelölőelem).
Ez a kód regisztrálja kiszolgálónál, a felhasználói munkamenetet.
$_SESSION[felh-user] = "valami" meghatározást, tetszőleges helyen alkalmazhatjuk.
if (!session_is_registered(valami)) : Otthon a saját gépünkön nem, de a Web szerveren hibát generál, ha nem létezik még $_SESSION[valami]

 

PHP 4.0 verzióban jelentek meg, a munkamenetek támogatásai.

  1. session_cache_expire
    • Az aktuális cache lejárat lekérdezése.

  2. session_cache_limiter
    • Az aktuális munkamenet cache korlátozás lekérdezése / beállítása.

  3. session_commit
    • Álnév: session_write_close.

  4. session_decode
    • Visszakódolja a munkamenet adatokat egy karaktersorozatból.

  5. session_destroy
    • Adott munkamenethez tartozó minden adat törlése.

  6. session_encode
    • Elkódolja a munkamenet adatokat egy karaktersorozatba.

  7. session_get_cookie_params
    • Lekérdezi a munkamenet süti paramétereit.

  8. session_id
    • Az aktuális munkamenet azonosító lekérdezése / beállítása.

  9. session_is_registered
    • Egy változó munkamenetbeni bejegyzettségét ellenőrzi.

  10. session_module_name
    • Az aktuális munkamenet modul lekérdezése / beállítása.

  11. session_name
    • Az aktuális munkamenet név lekérdezése / beállítása.

  12. session_regenerate_id
    • Update the current session id with a newly generated one.

  13. session_register
    • Egy vagy több változó bejegyzése munkamenet változókként.

  14. session_save_path
    • Az aktuális munkamenet mentési könyvtár lekérdezése / beállítása.

  15. session_set_cookie_params
    • A munkamenet süti paramétereit állítja be.

  16. session_set_save_handler
    • Felhasználói szintű munkamenet tároló függvényeket állít be.

  17. session_start
    • Munkamenet megkezdése / folytatása.

  18. session_unregister
    • Munkamenet változó törlése a munkamenetből.

  19. session_unset
    • Minden munkamenet változó felszabadítása.

  20. session_write_close
    • A munkamenet adatok kiírása és a munkamenet lezárása.