A cookie-kat általában arra használjuk, hogy valamilyen adatot tároljunk a felhasználó gépén. Lehet ez jelszó, egy név, vagy bármi más. Már javascripttel is készíthetünk "süti"-ket, de én ezt nem részletezem, mert szerintem azzal kevesebb lehetőségünk van.
PHP-ben sütik küldésére két függvény is rendelkezésünkre áll: a setcookie() és a setrawcookie(). Az utóbbi annyiban különbözik az előzőtől, hogy utóbbi nem kódolja le a cookie értékét.
A cookiekat mindenképp az előtt kell beállítanunk a kliensnek, mielőtt bármilyen kimenetet vagy fejrészt (header: például.: <html><head>) küldenénk a böngészőnek. Ha a függvény végrehajtása valamilyen okból (például le vannak tiltva a cookie-k a kliens böngészőjében) nem sikerül, akkor az hamis (FALSE) értékkel tér vissza. Sikeres küldés esetén igaz (TRUE) értéket kapunk.
Ha a fejrészt előbb meghatároztuk, mint a cookie-t küldtük, akkor ezt a hibaüzenetet kapjuk:
Tehát ha késleltetni szeretnénk a kimeneteket, akkor használhatjuk az ob_start() és az ob_end_flush() függvényt.
Most, hogy ezzel megvagyunk beállíthatjuk a setcookie() függvényt, aminek a szintaxisa így néz ki:
Ahol:
cookie neve - Ez az egyetlen kötelező argumentum, a többi opcionális. Ezt használjuk majd adataink visszanyeréséhez.
cookie értéke - Ez az adat fog tárolódni a kliens számítógépén. Ezt kapjuk majd vissza ha betöltjük a cookie-t.
cookie érvényessége - Az az időpont amíg a cookie a kliens gépen tárolódik. Az időpontot Unix formátumban kell megadni. Legegyszerűbb a time() függvényhez hozzáadni a lejárathoz szükséges másodpercek számát. Például a time()+60*60*24*10 a cookie érvényességét 10 napra állítja. Ha nem állítunk be semmit akkor a session végéig marad érvényes (böngésző bezárása).
cookie útvonala a szerveren - Ha '/'-ra állítjuk, akkor a cookie az egész szerveren elérhető marad. Ha '/test/'-re, akkor a test könyvtár, és annak összes alkönyvtárában lesz elérhető. Ha nem adunk meg semmit, akkor abban a könyvtárban lesz érvényes, ahol a cookie-t beállítottuk.
cookie domainje - Az a domain, ahonnan a cookie elérhető. Ha azt akarjuk, hogy egy pelda.com összes al-domain-jén elérhető legyen, akkor állítsuk '.pelda.com'-ra. Ez nem feltétlenül szükséges, de sok böngésző így működik. A www.pelda.com, csak a www-s domain-ról lesz elérhető.
biztonság - Ha 1, akkor a cookie csak biztonságos HTTPS kapcsolaton keresztül juthat el a böngészőhöz (ha létezik egy ilyen kapcsolat). Alapértelmezett 0.
Ezzel beállítottuk a cookie-nkat.
Az értékét csak onnan nyerhetjük vissza, ahonnan beállítottuk, vagy amit megadtunk az argumentumokban. Ha ez teljesül, akkor a cookie értékét a következő módon írathatjuk ki:
Ezzel aztán már azt csinálunk amit akarunk.
Szerző: Balo
Harder
Profil
Korábbi hozzászólások (2)
A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.
Én szeretném kérdezni hogy tudom megoldani cooki ban azt hogy ha egy felhasználó pl egy hír részt becsuk egy gombbal akkor az ha frissíti az oldalt vagy bezárja a böngészőjét és újra megnyissa akkor amit bezárt az bezárva is maradjon?
előre is köszi a helpet
Ez most életmentő volt, köszi :)
Van hozzáfűznivalód? Írj nekem közvetlenül.
Kapcsolat