Cookie-k és ülések (alap php - tanulsága természetesen)

Cookie-k és ülések (alap php - tanulsága természetesen)

Ebben a leírásban, megmondom, mi a cookie-kat, azok szerepe és alkalmazása.

Cookies különböző helyeken egymástól elszigetelt. Ők egy pár „név = érték”. Az egyszerűség kedvéért, akkor be őket, mint egy szöveges fájl, mint ez:

Tény, hogy minden böngésző tárolja a cookie-kat a saját, most már nekünk az ügyet.

A szerver küld a kért oldal a szöveggel együtt tartalmazó HTTP-válasz. Lehet tüntetni a böngésző, hogy mentse a cookie-kat:

Ez a kérelem eltér az első kérelmet, amely a húr. amely a szerver elküldte a böngésző korábban. Így a szerver tudja, hogy a kérelem kapcsolódik az előzőhöz. A szerver küld a kért oldalt, és új cookie-kat. Cookie-k száma egy oldalon nem áll meg ott.

De egy pár „név = érték”, a cookie tartalmazhat lejárati dátum. elérési út és a domain nevet. Domain és útvonal mondani a böngészőnek, hogy a cookie azt vissza kell küldeni a szerver URL kérések a megadott tartomány és az útvonal. Ha nincs megadva, a tartomány és útját a kért oldalt.

Tény, hogy a cookie-k három paraméter határozza meg a „domain név path”. Más szóval, a különböző módon, a cookie-kat a domain vagy különbözőek, akkor is, ha ugyanaz a neve.

A lejárati dátum jelzi a böngésző, ha törölni a cookie-kat. Ha a lejárati dátum nincs megadva, eltávolítjuk a cookie-kat a végén a felhasználói munkamenet, t. E. A záró a böngészőt.

A lejárati dátum van tüntetve a formátumban "Ned, DD-MON-ÉÉÉÉ HH: MM: SS GMT A". Például:

A PHP számos hasznos funkciót kínál dolgozik a cookie-kat. Létrehozásához cookie-kat a munkamenet (zárás előtt a böngésző), ha az setcookie () függvényt. Például így:

Ha szeretné tárolni a cookie-k egy darabig. Tegyük fel, egy hét, használja ugyanazt a funkciót, de a három paraméter:

time () függvény az aktuális időt. ehhez hozzátesszük, hogy ez egy héten (július 24. 3600 másodperc). Novice programozók furcsának tűnhet, hogy egy idő formátum, de hidd el, ez gyakran sokkal könnyebb dolgozni egész érték, mint egy húr ábrázolása egy dátumot.

setcookie () függvény is lehet hivatkozni egy nagyszámú paraméter, ha szükség van, hogy állítsa más attribútumait a cookie-kat. A legtöbb esetben azonban csak két, korábban említett példákat.

Olvasni a cookie-kat. kell kihasználni a rendszer változó $ _COOKIES:

Ellenőrizze. A cookie telepítve, akkor:

By the way, egy szótár $ _COOKIES. és tárolhat értékeket a cookie-kat, de csak az ülés (anélkül hogy a lejárati idő).

HTTP protokoll „hontalan”, és nincs beépített támogatni tudja ülésén az oldalon. Más szóval, ha nem folyamodnak különböző trükkökkel, a helyszín nem „emlékszik” a korábbi interakciókat.

Képzeljünk el egy online áruház. A felhasználó kiválaszt egy terméket, tedd a kosárba, majd fizet. Ahhoz, hogy a vásárlás meg kell látogatni több oldalt. Sőt, a helyszínen meg kell értenie, hogy ez egy és ugyanaz a felhasználó, valamint, hogy emlékezzen az árut, hogy tegye be a kosárba.

Ezen problémák megoldására került megvalósításra a PHP munkamenet mechanizmus. Ha szükség van, hogy emlékezzen az állam az ülés, csak annyit kell tennie -, hogy hívja az elején a script session_start () függvényt.

Ez a funkció ellenőrzi, hogy van-session ID. Ha nem, akkor kiemelve, és hozzon létre egy fájlt, amely akkor lehet tárolni vonatkozó információkat az ülés (pl elemek listáját a kosárban).

De hol kell keresni ugyanezen munkamenet-azonosítót. A PHP két mechanizmus:

Információkat. releváns keretében az ülés tárolja a rendszer változó (szótár) $ _SESSION. Ez hogyan lehet menteni az adatokat:

És ez olvasható:

A munkamenet már nincs szükség, mint például a felhasználó megnyomja a Kilépés gomb, akkor megsemmisíti azt. Erre a célra session_destroy () függvényt. Azonban a hívás előtt szeretné törölni az összes adatot a munkamenetben. Például így:

Kapcsolódó cikkek