Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Cookies - kas, kaip ir kodėl ?DUK Klausimas: Kas yra cookie ? Atsakymas: Tiesioginis lietuviškas vertimas butu 'sausainis', 'sausainiukas'. Arba tiesiog galite naudoti angliška tarima - kukis (daug.: kukiai). Klausimas: Kam jis reikalingas ? Atsakymas: Kukis reikalingas saugoti informacija nutolusiame kliente ir taip 'sekti' jusu puslapio lankytojus. Klausimas: Kokios yra kukiu savybes (privalumai/trukumai) ? Atsakymas: - kukis yra išsiunchiamas kartu su kitomis HTTP antraštemis (headers), todel jis privalo buti išsiustas prieš bet kokius ar tagus. - jis netaps matomas iki kito užkraunamo puslapio; - kukiai turi buti ištrinami su tokiais pat parametrais, kurie buvo naudojami jiems sukurti; - kukiu pavadinimai gali buti užsetinami kaip masyvu vardai ir jusu PHP skripte bus prieinami kaip masyvai; Klausimas: Kaip galechiau užsetinti kuki ? Atsakymas: Naudok PHP f-ja setcookie(); bendra f-jos sintaxe: setcookie( string vardas [, string reikšme [, int galiojimo_laikas [, string kelias [, string domenas [, int apsaugotas ]]]]] ); Visi parametrai išskyrus pati pirmaji (kukio vardas) yra pasirinktini. Klausimas: O kaip del kitu parametru ? Ka jie reiškia ? Atsakymas: Kaip jau ir minejau pirmas parametras naudojamas nustatyti kukio vardui. string reikšme: nurodo kukio reikšme. T.y. jeigu kukio vardas yra "Jonas", o jo reikšme "Petraitis", tai PHP skripte analogas butu: $Jonas = "Petraitis"; int galiojimo_laikas: nustato kukio galiojimo laika sekundemis, nuo jo nustatymo datos; string kelias: parodo, kuriuose serverio kataloguose veiks kukis; string domenas: tas pats kaip ir 'string kelias' tiktais nurodo galiojima (sub)domenuose, o ne kataloguose; int apsaugotas: nustato ar kukis turetu buti užsetintas per HTTPS protokola, ar ne; Klausimas: Gal galima butu pavyzdžiu ? Atsakymas: Ʋinoma ! 1. Kukiu užsetinimas 1.1: Papraschiausias kukio vardu "TestCookie" užsetinimas be jokios reikšmes, kurio galiojimo laikas yra 1 valanda nuo užsetinimo laiko: setcookie("TestCookie","", time() + 3600); 1.2: Kukis vardu "kataloginis", su reikšme "sausainis", kuris galios 15 minuchiu domeno ".example.com" betkokiame subdomene, "/of_cookie/" kataloge ir bus persiustas HTTPS protokolu: setcookie("kataloginis","kukis",time() + 900, "/of_cookie/", ".example.com", 1); 1.3: Kukio, kaip masyvo, užsetinimas su ivairiu galiojimo laiku: setcookie("kukis[vienas]","reikšme1",time() + 3600); // 1 valanda setcookie("kukis[du]","reikšme2", time() + 1800); // 30 minuchiu setcookie("kukis[trys]","reikšme3", time() + 86400); // 1 para 2. Kukiu trynimas 2.1: Kukio trynimas, kuris buvo užsetintas, kaip parodyta pirmame pavyzdyje: setcookie("TestCookie","", time() - 3600); Atkreipkite demesi, kad norint ištrinti kuki reikia naudotis praeities laika. 2.2: Kukio trynimas, kuris užsetintas su tokiais pat parametrais, kaip ir antrame pavyzdyje: setcookie("kataloginis","", time() - 3600, "/of_cookie/", ".example.com", 1); 2.3: Kukio, kaip masyvo elemento, trynimas: setcookie("kukis[du]","", time() - 3600); Klausymas: Na gerai - aš užsetinau kukius. Dabar kaip man gauti reikšmes iš tu kukiu ? Atsakymas: Gali naudoti viena iš sekanchiu pavyzdžiu: 1: echo $TestCookie; // parodys kukio, vardu "TestCookie" reikšme 2: echo $_COOKIE["TestCookie"]; // analogas pirmajam atvejui 3: echo $HTTP_COOKIE_VARS["TestCookie"]; // tas pats kaip ir pirmais dviema atvejais Pastaba: $_COOKIE yra palaikomas > PHP 4.1.0 versijos, $HTTP_COOKIE_VARS palaikomas nuo PHP 3 versijos. Klausimas: Emmm... O kaip su tais "masyviniais" kukiais ? Atsakymas: Naudok while() cikla su list() bei each() f-jomis. Paprastas pvz.: if (isset ($cookie)) { while (list ($name, $value) = each ($cookie)) { echo "$name == $value \n"; } } Info php.lt | Straipsnio informacijaAutoriusozzWANTED Parašymo data 2006 rugsėjo 25 20:09:09 Komentarų 0 Skaityta 5081 Spausdinti |