Ezen fájlban létrehozandó cookie adat, első belépéskor nincs, mivel ekkor jön létre.
Tesztelésre frissítsük az oldalt, vagy használjuk a következő linkeket.
A linkek közötti lépkedésekkel vagy a frissítéssel győződhetünk meg, a cookie létezésükről.
COOKIE 02. Oldal!
1. COOKIE Teszt értéke = Ez az első látogatása. | |
2. COOKIE Teszt értéke = Nincs kiértékelhető érték. | |
3. COOKIE Teszt értéke = Nincs kiértékelhető érték. | |
4. Fix COOKIE tömb: Lekérdezés foreach ciklussal! | 4. Fix COOKIE tömb: Lekérdezés név alapján! |
Emlékeztető:
COOKIE a meghatározott ideig van életben, ezt követően megsemmisül.
Itt a teszteknél előfordulhat, hogy belépünk egy oldalra és a COOKIE létrejön, az adott oldalon hosszabb ideig tartózkodunk, mint a COOKIE-nak meghatározott idő intervallum.
Ekkor, hiába lépünk át másik oldalra, vagy frissítjük az oldalt, nem lesz kiértékelhető COOKIE adat.
Vissza a kezdő COOKIE oldalra.
2. Példa: Fix cookie, és a belépést számláló leírása.
<?php // A session_start() függvény meghívása cookie-hez nem kell, jelenleg azért kell, mert létrehozunk egy SESSION változót is. session_start(); // Ha nem létezik még COOKIE felhasznalo_02, akkor most létrehozzuk. // Valamint, létrehozunk egy belépési számlálót, SESSION=fix_c02szamlalo formátumban. if(!isset($_COOKIE['felhasznalo_02'])) { $latogato_neve="Dániel"; $tartomany =$_SERVER['SERVER_NAME']; setcookie("felhasznalo_02", "$latogato_neve", time()+60, "/", "$tartomany", 0); $_SESSION['fix_c02szamlalo']=0; } // Ha létezik felhasznalo_02, akkor növeljük a számláló értékét 1-el. if(isset($_COOKIE['felhasznalo_02'])) {$_SESSION['fix_c02szamlalo']= $_SESSION['fix_c02szamlalo']+1;} // Ezen oldalon a cookie adat fix (állandó), azaz, minden belépésnél ugyanazon értéket (adatot) tartalmazza, és a belépési SESSION számláló is, a // cookie létezésétől függ. // Ezért itt, a SESSION számláló törlésének, nincs értelme. // De, minden más oldalon ellenőrizzük a cookie létezését, melynek létezése 60 másodpercre van beállítva. // A beállított idő elteltével megszűnik, és ha nem létezik, akkor töröljük a SESSION számlálót is. ?> <html> <body> <?php // Következik a kiértékelés. echo'<u>Fix COOKIE 02.Teszt értéke</u> = '; if(isset($_COOKIE['felhasznalo_02'])) { print "<b>Üdvözlöm kedves ".$_COOKIE['felhasznalo_02'].". Latogatásainak szama: ".$_SESSION['fix_c02szamlalo']."</b>"; } // Az else ág, első belépésnél érvényesül. Ekkor még nincs kiértékelhető cookie adat. else{ print "Nincs kiértékelhető érték."; } ?> </body> </html>
Fenti példában:
COOKIE nevét és értékét, azaz, a belépő nevét (Dániel), vagy tetszőleges szöveget, a program készítője írta be!
Nevek meghatározására nem a legszerencsésebb meghatározás, mert nem tudhatjuk, hogy az adott címről ki lépett be, ha az adott címről többen is beléphetnek.
Ha azt szeretnénk, hogy a cooki ténylegesen a felhasználó valós nevét tartalmazza, készítsünk a belépéshez űrlapot.
Ebben az esetben cooki létrehozása különálló php fájlban, vagy meghatározott feltétellel hozható létre, ugyanazon fájlban.
Mivel egy és ugyanazt a számítógépet, több személy is használhatja, így nem tudhatjuk, hogy melyik felhasználó lépett be az oldalra.
Ha biztonsági oldalakról van szó, használjunk adatbázist, ezzel a belépésnél meggyőződhetünk arról, hogy jogos a belépés engedélyezése vagy sem.
Ha jogos a belépés, akkor megkapja a szükséges COOKIE SÜTI vagy SESSION adatot, mellyel további oldalakat nézhet meg, vagy oldalakon dolgozhat.
A létező SESSION változó és értéke, mely jelen esetben a számláló szerepét tölti be, mind addig létezik, még:
Program szempontjából, oldal frissítése is belépésnek minősül, azaz, ekkor is növekszik a belépést számláló, értéke.