Visszalép

04. COOKIE array tömb létrehozása, fix adatokkal.

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 04. 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!
Minden jelenleg létező, és cookie tömben tárolt adat, megjelenik,
még akkor is, ha nem ezen fájban lettek létrehozva!

4. Fix COOKIE tömb: Lekérdezés név alapján!
Ha a cookie tömb, tárol adatokat:
A cookie tömben tárolt adatok közül, csak a név szerint lekértek jelennek meg.

Tfixcooki_neve cookie, még nem létezik
Tfixcooki_cime cookie, még nem létezik.
Tfixcooki_temakor cookie, még nem létezik.

Tf_cookinev cookie, még nem létezik.
Tf_cookicim cookie, még nem létezik.
Tf_cookitema cookie, még nem létezik.


 

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.

A COOKIE neveknek, mindenki tetszésének megfelelő ékezet nélküli elnevezést adhat.
Az időbélyeg intervallumot, célszerű egységesre beállítani, jelenleg a teszt végett eltérőek. (10; 15; 20;)
Oldal frissítésével, vagy másik oldalra történő belépéssel, tesztelhetjük a létezésüket.

COOKIE Array tömb létrehozása:
Fájl kiterjesztése: PHP

<?php
// 1.példa. 
// Meghatározzuk a cookie elemk neveit.
$c01="Tfixcooki_neve";
$c02="Tfixcooki_cime";
$c03="Tfixcooki_temakor";
// Meghatározzuk a cookie elemkben tárolandó adatokat.
$c01_adat="Szilvia";
$c02_adat="Cookie út 111";
$c03_adat="Sport";

$tartomany =$_SERVER['SERVER_NAME'];

// A setcookie() függvényen kívül határoztuk meg, a cookie elemk neveit, és a cookie elemkben tárolandó adatokat.
	setcookie("cookie[$c01]","$c01_adat", time()+20, "/", "$tartomany", 0);
	setcookie("cookie[$c02]","$c02_adat", time()+15, "/", "$tartomany", 0);
	setcookie("cookie[$c03]","$c03_adat", time()+10, "/", "$tartomany", 0);

// 2.példa. 
// Közvetlen a setcookie() függvényben határozzuk meg, a cookie elemk neveit, és a cookie elemkben tárolandó adatokat.
	setcookie("cookie[Tf_cookinev]","Sebastian", time()+20, "/", "$tartomany", 0);
	setcookie("cookie[Tf_cookicim]","London Cookie út 113", time()+15, "/", "$tartomany", 0);
	setcookie("cookie[Tf_cookitema]","Matematika", time()+10, "/", "$tartomany", 0);
// Fenti meghatározások előtt, nem lehet <html> kimenet.

// Első teszt alkalmával: Oldalról ki kell lépni, majd újból belépni.
// Írja ki a cookie-kat, az oldal újbóli betöltése után.
// Kiíratást elvégezhetnénk itt is. Jelenleg a <html> szakaszban történik a kiíratás.
?>

<html>
<body>

<?php
echo'<table><tr><td>';
echo'<p><u><b>4. COOKIE tömb:</u> Lekérdezés foreach ciklussal!</b><br />
Minden jelenleg létező, és cookie tömben tárolt adat, megjelenik.<br /><br />';
	if (isset($_COOKIE["cookie"]))
	{
	foreach ($_COOKIE["cookie"] as $neve => $value)
		{
		echo "$neve = $value "; echo'<br />';
		}
	}
echo'</p></td>';
// -------------------------------------------------------------------------------------------------------------
echo'<td>';
echo'<p><u><b>4. COOKIE tömb:</u> Lekérdezés név alapján!</b><br />
A cookie tömben tárolt adatok közül, csak a név szerint lekértek jelennek meg.<br />';
// 1. Példa eredményei.
		echo'<br />Tfixcooki_neve = '.$_COOKIE["cookie"]["$c01"];
		echo'<br />Tfixcooki_cime = '.$_COOKIE["cookie"]["$c02"];
		echo'<br />Tfixcooki_temakor = '.$_COOKIE["cookie"]["$c03"];
		
// 2. Példa eredményei.
		echo'<br /><br />Tf_cookinev = '.$_COOKIE["cookie"]["Tf_cookinev"];
		echo'<br />Tf_cookicim= '.$_COOKIE["cookie"]["Tf_cookicim"];
		echo'<br />Tf_cookitema = '.$_COOKIE["cookie"]["Tf_cookitema"];
echo'</p></td></tr></table>'; 
?>

</body>
</html>

 

Fenti példában, cookie létrehozására és nevük alapján történő lekérdezédére, kettő példát láthatunk.
1. Példában:

2. Példában:


Összegezve:

  1. Ha a lekérdezést foreach ciklussal végezzük, minden jelenleg létező, és cookie tömbben tárolt adat megjelenik, akár milyen formátumban hoztuk létre, és még akkor is, ha nem a lekérdezendő fájlban lettek létrehozva!
  2. Amennyiben az adatokat cookie név alapján kérdezzük le, azon fájlban, melyben létrehoztuk őket lekérdezési probléma nincs, akármilyen formátumban jöttek létre. Másik fájlban akarjuk cookie név alapján az adatokat lekérdezni, akkor nem mindegy, hogy hogyan lettek létrehozva. Ha létrehozásukkor az adatokat nem közvetlen a setcookie() függvényben írtuk meg, hanem előzőleg változóhoz rendeltük őket, akkor e változókat a lekérdezendő oldalon is, ugyanúgy kell elhelyezni, mint a cookie létrehozáskor.

Vissza a COOKIE kezdő oldalra.

Megjegyzés:
Ha azt szeretnénk, hogy a cooki array tömb, ténylegesen a felhasználóhoz tartozó valós adatokat tartalmazza, készítsünk a belépéshez űrlapot.
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.