Azonnali sütik beállítása PHP-ban
Ahhoz, hogy a beállított süti azonnal megjelenjen
a $_COOKIE tömbben, használhatunk
egy trükkös technikát.
A technika lényege a következő: először beállítjuk
a sütit a setcookie függvénnyel, majd
kézzel beírjuk a $_COOKIE tömbbe:
<?php
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
var_dump($_COOKIE['str']); // azonnal kiírja 'eee'-t
?>
Annak érdekében, hogy a süti ne küldődjön minden alkalommal a böngészőbe, a süti beállítását tehetjük egy feltétel belsejébe. Ha ilyen süti nem létezik, akkor állítsuk be:
<?php
if (!isset($_COOKIE['str'])) { // ha a süti nem létezik
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
}
echo $_COOKIE['str']; // kiírja 'eee'-t
?>
Beszéljük meg, hogyan működik ez. Az első
belépéskor az oldalra belépünk a if feltételbe,
beállítjuk a sütit a böngészőben, és azonnal beírjuk
a $_COOKIE tömbbe. Ezután a echo paranccsal
kiíratjuk a kézzel beírt értékünket.
A későbbi oldalbetöltések során nem lépünk be
a if feltételbe, de a $_COOKIE tömb tartalmazni
fogja a sütinket, amely már a böngészőből érkezett.
Így mind az első belépéskor, mind a
későbbiekben a $_COOKIE tömb tartalmazni
fogja a sütinket.
Próbálja ki a leírt technikát.