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
É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 :)