Što je kolačić?
Kolačić je mala datoteka maksimalne veličine 4 KB koju web poslužitelj pohranjuje na klijentsko računalo.
Nakon postavljanja kolačića, svi sljedeći zahtjevi za stranicu vraćaju ime i vrijednost kolačića.
Kolačić se može čitati samo s domene s koje je izdan. Na primjer, kolačić postavljen pomoću domene www.guru99.com ne može se čitati s domene karijera.guru99.com.
Većina web mjesta na internetu prikazuju elemente s drugih domena, poput oglašavanja. Domene koje poslužuju ove elemente mogu također postaviti vlastite kolačiće. To su poznati kao kolačići treće strane.
Kolačić koji je kreirao korisnik može biti vidljiv samo njima. Drugi korisnici ne mogu vidjeti njegovu vrijednost.
Većina web preglednika ima mogućnosti onemogućavanja kolačića, kolačića treće strane ili oboje.
Ako je to slučaj, PHP odgovara prosljeđivanjem tokena kolačića u URL.
Dijagram prikazan u nastavku ilustrira kako kolačići rade.
Ovdje,
1) Korisnički zahtjev za stranicu koja pohranjuje kolačiće
2) Poslužitelj postavlja kolačić na korisnikovo računalo
3) Ostali zahtjevi stranice od korisnika vratit će ime i vrijednost kolačića
U ovom vodiču naučit ćete-
- Zašto i kada koristiti kolačiće?
- Izrada kolačića
- Dohvaćanje vrijednosti kolačića
- Izbriši kolačiće
- Što je sjednica?
- Zašto i kada koristiti Sessions?
- Stvaranje sjednice
- Uništavanje varijabli sesije
Zašto i kada koristiti kolačiće?
-
Http je protokol bez državljanstva; kolačići nam omogućuju praćenje stanja aplikacije pomoću malih datoteka pohranjenih na korisnikovom računalu.
Put do kojeg su kolačići pohranjeni ovisi o pregledniku.
Internet Explorer ih obično pohranjuje u mapu Temporal Internet Files.
-
Personalizacija korisničkog iskustva - to se postiže omogućavanjem korisnicima da odaberu svoje postavke.
Zahtijevane stranice koje slijede personalizirane su na temelju postavljenih postavki u kolačićima.
- Praćenje stranica koje je korisnik posjetio
Izrada kolačića
Pogledajmo sada osnovnu sintaksu koja se koristi za stvaranje kolačića.
OVDJE,
- Php "setcookie" je PHP funkcija koja se koristi za stvaranje kolačića.
- "Cookie_name" je ime kolačića koji će poslužitelj koristiti prilikom dohvaćanja njegove vrijednosti iz varijable polja $ _COOKIE. To je obavezno.
- "Cookie_value" je vrijednost kolačića i ona je obavezna
- "[Vrijeme isteka]" nije obavezno; može se koristiti za postavljanje vremena isteka kolačića, kao što je 1 sat. Vrijeme se postavlja pomoću funkcija PHP time () plus ili minus broj sekundi duži od 0 tj. Vrijeme () + 3600 za 1 sat.
- "[Cookie_path]" nije obavezan; može se koristiti za postavljanje puta kolačića na poslužitelju. Kosa crta "/" znači da će kolačić biti dostupan na cijeloj domeni. Poddirektoriji ograničavaju pristup kolačićima poddomeni.
- "[Domena]" nije obavezna, može se koristiti za definiranje hijerarhije pristupa kolačićima, tj. Www.cookiedomain.com znači cijelu domenu, dok www.sub.cookiedomain.com ograničava pristup kolačića na www.sub.cookiedomain.com i njegov podpodručje domene. Imajte na umu da je moguće imati poddomenu poddomene sve dok ukupan broj znakova ne prelazi 253 znaka.
- "[Secure]" nije obavezno, zadana vrijednost je false. Koristi se za utvrđivanje šalje li se kolačić putem https-a ako je postavljen na true ili http ako je postavljen na false.
- "[Httponly]" nije obavezno. Ako je postavljeno na true, tada im ne mogu pristupiti samo skriptni jezici na strani klijenta, tj. JavaScript.
Napomena: php postavljena funkcija kolačića mora se izvršiti prije HTML početne oznake.
Pogledajmo sada primjer koji koristi kolačiće.
Stvorit ćemo osnovni program koji nam omogućuje pohranu korisničkog imena u kolačić koji istječe nakon deset sekundi.
Kôd u nastavku prikazuje provedbu gornjeg primjera "cookies.php".
Izlaz:
the cookie has been set for 60 seconds
Dohvaćanje vrijednosti kolačića
Stvorite drugu datoteku pod nazivom "cookies_read.php" sa sljedećim kodom.
Izlaz:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Napomena: $ _COOKIE je PHP ugrađen u super globalnu varijablu.
Sadrži imena i vrijednosti svih postavljenih kolačića.
Broj vrijednosti koje
Polje $ _COOKIE može sadržavati ovisi o veličini memorije postavljenoj u php.ini.
Zadana vrijednost je 1 GB.
Testiranje naše prijave.
Pretpostavimo da ste svoje PHP datoteke spremili u mapu phptus.
- 1. korak - otvorite web preglednik i unesite URL http: //localhost/phptuts/cookies_read.php
Napomena: Prikazan je samo prazan niz
- Korak 2 - Preglednik do URL-a http: //localhost/phptuts/cookies.php
- Korak 3 - Vratite se na prvu karticu, a zatim kliknite gumb za osvježavanje
Pričekajte minutu, a zatim ponovno pritisnite gumb za osvježavanje. Kakve ste rezultate postigli?
Izbriši kolačiće
- Ako želite uništiti kolačić prije isteka vremena, tada vrijeme isteka postavljate na vrijeme koje je već prošlo.
- Stvorite novu datoteku pod nazivom cookie_destroy.php sa sljedećim kodom
- Ponovite korake od 1 do 3 iz gornjeg odjeljka za dohvaćanje vrijednosti kolačića.
- Otvorite URL http: //localhost/phptuts/cookie_destroy.php
- Prebacite se na URL http: //localhost/phptuts/cookies_read.php koje rezultate prikazuje?
Što je sjednica?
- Sesija je globalna varijabla pohranjena na poslužitelju.
- Svakoj sesiji dodijeljen je jedinstveni ID koji se koristi za dohvaćanje pohranjenih vrijednosti.
- Kad god se stvori sesija, kolačić koji sadrži jedinstveni ID sesije pohranjuje se na korisnikovo računalo i vraća uz svaki zahtjev poslužitelju. Ako klijentski preglednik ne podržava kolačiće, u URL-u se prikazuje jedinstveni ID php sesije
- Sesije mogu pohraniti relativno velike podatke u usporedbi s kolačićima.
- Vrijednosti sesije automatski se brišu kad se preglednik zatvori. Ako želite trajno pohraniti vrijednosti, trebali biste ih pohraniti u bazu podataka.
- Baš kao i varijabla polja $ _COOKIE, i varijable sesije pohranjuju se u varijablu niza $ _SESSION. Baš kao i kolačići, sesija mora biti započeta prije bilo kakvih HTML oznaka.
Zašto i kada koristiti Sessions?
- Važne podatke, poput korisničkog ID-a, želite sigurnije pohraniti na poslužitelj na kojem se zlonamjerni korisnici ne mogu pokolebati.
- Vrijednosti želite prenijeti s jedne stranice na drugu.
- Želite alternativu kolačićima u preglednicima koji ne podržavaju kolačiće.
- Globalne varijable želite pohraniti na učinkovitiji i sigurniji način u usporedbi s prosljeđivanjem u URL-u
- Razvijate aplikaciju kao što je košarica koja mora privremeno pohraniti podatke kapaciteta većeg od 4 KB.
Stvaranje sjednice
Da biste stvorili sesiju, prvo morate pozvati funkciju PHP session_start, a zatim svoje vrijednosti pohraniti u varijablu polja $ _SESSION.
Pretpostavimo da želimo znati koliko je puta stranica učitana, za to možemo koristiti sesiju.
Kôd u nastavku pokazuje kako stvoriti i dohvatiti vrijednosti iz sesija
Izlaz:
You are visitor number 1
Uništavanje varijabli sesije
Funkcija session_destroy () koristi se za uništavanje cijelih varijabli sesije Php.
Ako želite uništiti samo jednu stavku sesije, koristite funkciju unset ().
Kôd u nastavku ilustrira kako koristiti obje metode.
Session_destroy uklanja sve podatke o sesiji, uključujući kolačiće povezane sa sesijom.
Poništavanje oslobađa samo pojedine varijable sesije.
Ostali podaci ostaju netaknuti.
Sažetak
- Kolačići su male datoteke spremljene na korisnikovom računalu
- Kolačići se mogu čitati samo s domene izdavanja
- Kolačići mogu imati vrijeme isteka, ako nije postavljeno, tada kolačić istječe kad se preglednik zatvori
- Sesije su poput globalnih varijabli pohranjenih na poslužitelju
- Svaka sesija dobiva jedinstveni identifikacijski ID koji se koristi za praćenje varijabli za korisnika.
- I kolačići i sesije moraju se započeti prije slanja bilo kakvih HTML oznaka u preglednik.