PHP COOKIE és SESSION szuperglobális változók használata: Hogyan tároljunk adatokat a felhasználó böngészőjében vagy a szerveren?

A webfejlesztés során elengedhetetlen, hogy a felhasználók számára kényelmes és dinamikus élményeket biztosítsunk. Ehhez a PHP-ban található szuperglobális változók, mint a $_COOKIE és $_SESSION, kulcsfontosságú szerepet játszanak. Ezen változók segítségével könnyedén tárolhatunk adatokat a felhasználók böngészőjében (cookie-k), illetve a szerveren (session), így lehetővé téve például a felhasználói beállítások megjegyzését vagy a bejelentkezési állapot követését. Ebben a cikkben bemutatjuk, hogyan használhatjuk ezeket a szuperglobálisokat, és mikor melyiket érdemes alkalmazni.

Mi az a COOKIE és SESSION változó?

A $_COOKIE és $_SESSION változók mindkettő a PHP szuperglobális változói közé tartoznak, de más-más célra szolgálnak.

  • COOKIE: A cookie-k olyan kis adatcsomagok, amelyeket a szerver küld a felhasználó böngészőjébe, és amelyek a böngészőben tárolódnak. A cookie-k lehetőséget biztosítanak arra, hogy a felhasználó által preferált adatokat hosszabb időn keresztül megőrizzük, például a felhasználói beállításokat vagy a felhasználó azonosítóját. A cookie-k időtartama meghatározott, és a böngésző bezárásakor is megmaradnak, amennyiben azokat nem töröljük.
  • SESSION: A session az adatokat a szerveren tárolja, és a felhasználó böngészőjében csupán egy egyedi azonosítót (session ID) tartalmaz. A session lehetővé teszi, hogy az alkalmazás az adatokat a felhasználó böngészőjének újratöltése vagy a weboldal navigációja során is megtartsa, de a session élettartama korlátozott, és az élettartam lejártával a session adatok törlődnek.

COOKIE használata PHP-ban

A cookie-k nagyon hasznosak, ha az adatok hosszabb ideig történő tárolására van szükség, például amikor a felhasználó bejelentkezik, és a rendszernek meg kell jegyeznie a bejelentkezési állapotot a következő látogatáskor.

PHP-ban a cookie létrehozása a setcookie() függvénnyel történik. Nézzünk meg egy példát:

<?php
// Cookie beállítása
setcookie("felhasznalo_nev", "JohnDoe", time() + 3600, "/"); // 1 óra múlva lejár
echo "A cookie létrehozva!";
?>

A fenti kódban egy „felhasznalo_nev” nevű cookie-t hozunk létre, amely 1 óráig tárolja a „JohnDoe” értéket. A cookie a weboldal gyökerében lesz elérhető, mivel a / az elérési útvonal.

A cookie értékét a $_COOKIE szuperglobális változóval érhetjük el:

<?php
// Cookie olvasása
if(isset($_COOKIE["felhasznalo_nev"])) {
    echo "A cookie értéke: " . $_COOKIE["felhasznalo_nev"];
} else {
    echo "A cookie nem található.";
}
?>

Ez a kód ellenőrzi, hogy létezik-e a „felhasznalo_nev” cookie, és ha igen, kiírja annak értékét. Ha a cookie nem létezik, akkor egy üzenetet jelenít meg.

SESSION használata PHP-ban

A session segítségével a szerver oldalon tárolhatunk adatokat, így azok a felhasználó böngészőjén keresztül nem láthatóak. A session ideális például bejelentkezési állapotok, kosár tartalma, vagy egyéb felhasználói információk tárolására.

A session használatához először el kell indítanunk a session-t a session_start() függvénnyel:

<?php
// Session indítása
session_start();

// Adatok tárolása a session-ben
$_SESSION["felhasznalo_nev"] = "JohnDoe";
echo "A session adat létrehozva!";
?>

Ebben a példában egy „felhasznalo_nev” kulcsot adunk a session-hoz, amely tartalmazza a „JohnDoe” értéket. A session élettartama addig tart, amíg a felhasználó böngészőjét bezárja, vagy a session lejár.

A session változókhoz a $_SESSION szuperglobális változóval férhetünk hozzá:

<?php
// Session adat elérése
session_start();
if(isset($_SESSION["felhasznalo_nev"])) {
    echo "A session értéke: " . $_SESSION["felhasznalo_nev"];
} else {
    echo "A session nem található.";
}
?>

Ez a kód kiírja a session-ban tárolt „felhasznalo_nev” értéket, ha létezik. Ha a session adat nem található, akkor egy másik üzenetet jelenít meg.

Video: PHP COOKIE és SESSION használata

A PHP COOKIE és SESSION szuperglobális változókról szóló részletes bemutatót a következő videóban nézheted meg:

Összegzés

A COOKIE és SESSION szuperglobális változók a PHP-ban lehetővé teszik, hogy adatokat tároljunk a felhasználó böngészőjében vagy a szerveren. A cookie-k ideálisak hosszabb távú adatkezeléshez, míg a session lehetővé teszi a dinamikus és biztonságos adatkezelést, amely nem látható a felhasználó számára. A megfelelő változó használata a feladat típusától és biztonsági igényeitől függ. Ha többet szeretnél megtudni a PHP szuperglobális változókról, nézd meg a fenti videót!

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük