PHP seja & PHP piškotki s primerom

Kazalo:

Anonim

Kaj je piškotek?

Piškotek je majhna datoteka z največ 4 KB, ki jo spletni strežnik shrani v odjemalski računalnik.

Ko je piškotek nastavljen, vse zahteve za strani, ki sledijo, vrnejo ime in vrednost piškotka.

Piškotek je mogoče brati samo z domene, iz katere je bil izdan. Na primer, piškotkov, ki uporabljajo domeno www.guru99.com, ni mogoče prebrati z domene career.guru99.com.

Večina spletnih mest v internetu prikazuje elemente z drugih domen, kot je oglaševanje. Domene, ki strežejo te elemente, lahko nastavijo tudi svoje piškotke. Ti so znani kot piškotki tretjih oseb.

Piškotek, ki ga je ustvaril uporabnik, je lahko viden samo njim. Drugi uporabniki ne vidijo njegove vrednosti.

Večina spletnih brskalnikov ima možnosti za onemogočanje piškotkov, piškotkov tretjih oseb ali obojega.

V tem primeru se PHP odzove tako, da v URL posreduje žeton piškotka.

Spodnji diagram prikazuje delovanje piškotkov.

Tukaj,

1) Uporabnik zahteva stran, ki shranjuje piškotke

2) Strežnik nastavi piškotek na uporabnikovem računalniku

3) Druge uporabniške zahteve vrnejo ime in vrednost piškotka

V tej vadnici boste izvedeli-

  • Zakaj in kdaj uporabljati piškotke?
  • Ustvarjanje piškotkov
  • Pridobivanje vrednosti piškotka
  • Izbriši piškotke
  • Kaj je seja?
  • Zakaj in kdaj uporabljati seje?
  • Ustvarjanje seje
  • Uničevanje spremenljivk seje

Zakaj in kdaj uporabljati piškotke?

  • Http je protokol brez državljanstva; piškotki nam omogočajo sledenje stanja aplikacije z uporabo majhnih datotek, shranjenih v uporabnikovem računalniku.

    Pot do shranjevanja piškotkov je odvisna od brskalnika.

    Internet Explorer jih običajno shrani v mapo Temporal Internet Files.

  • Prilagoditev uporabniške izkušnje - to dosežemo tako, da uporabnikom omogočimo, da izberejo svoje želje.

    Zahtevane strani, ki sledijo, so prilagojene glede na nastavljene nastavitve v piškotkih.

  • Sledenje stranem, ki jih je obiskal uporabnik

Ustvarjanje piškotkov

Poglejmo si zdaj osnovno sintakso, uporabljeno za ustvarjanje piškotka.

TUKAJ,

  • Php “setcookie” je funkcija PHP, ki se uporablja za ustvarjanje piškotka.
  • "Cookie_name" je ime piškotka, ki ga bo strežnik uporabil pri pridobivanju vrednosti iz spremenljivke matrike $ _COOKIE. To je obvezno.
  • “Cookie_value” je vrednost piškotka in je obvezna
  • "[Čas trajanja]" ni obvezen; z njim lahko nastavite čas veljavnosti piškotka, kot je 1 ura. Čas se nastavi z uporabo funkcij PHP time () plus ali minus število sekund, daljše od 0, tj. Time () + 3600 za 1 uro.
  • "[Piškotek_pot]" ni obvezen; z njim lahko nastavite pot piškotka na strežniku. Poševnica naprej / / pomeni, da bo piškotek na voljo na celotni domeni. Podimeniki omejujejo dostop piškotkov do poddomene.
  • "[Domena]" ni obvezna, z njo lahko določimo hierarhijo dostopa do piškotkov, tj. Www.cookiedomain.com pomeni celotno domeno, medtem ko www.sub.cookiedomain.com omejuje dostop piškotkov do www.sub.cookiedomain.com in njenega podpodročja domene. Upoštevajte, da je mogoče imeti poddomeno poddomene, če skupno število znakov ne presega 253 znakov.
  • "[Varno]" ni obvezno, privzeto je false. Uporablja se za določanje, ali je piškotek poslan prek https, če je nastavljen na true ali http, če je nastavljen na false.
  • "[Httponly]" ni obvezen. Če je nastavljeno na true, potem do njih ne morejo dostopati samo odjemalski skriptni jeziki, tj. JavaScript.

Opomba: pred uvodno oznako HTML je treba izvesti funkcijo piškotka nabora php.

Poglejmo si zdaj primer, ki uporablja piškotke.

Ustvarili bomo osnovni program, ki nam omogoča, da uporabniško ime shranimo v piškotek, ki poteče po desetih sekundah.

Spodnja koda prikazuje izvajanje zgornjega primera "cookies.php".

Izhod:

the cookie has been set for 60 seconds

Pridobivanje vrednosti piškotka

Ustvarite novo datoteko z imenom "cookies_read.php" z naslednjo kodo.

Izhod:

Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )

Opomba: $ _COOKIE je PHP, vgrajen v super globalno spremenljivko.

Vsebuje imena in vrednosti vseh nastavljenih piškotkov.

Število vrednosti, ki jih

Polje $ _COOKIE lahko vsebuje, odvisno od velikosti pomnilnika, nastavljene v php.ini.

Privzeta vrednost je 1 GB.

Testiranje naše aplikacije.

Predpostavimo, da ste datoteke PHP shranili v mapo phptus.

  • 1. korak - odprite spletni brskalnik in vnesite URL http: //localhost/phptuts/cookies_read.php

Opomba: Prikazana je samo prazna matrika

  • 2. korak - Brskalnik do URL-ja http: //localhost/phptuts/cookies.php

  • 3. korak - preklopite nazaj na prvi zavihek in kliknite gumb za osvežitev

Počakajte minuto, nato znova kliknite gumb za osvežitev. Kakšne rezultate ste dobili?

Izbriši piškotke

  • Če želite piškotek uničiti pred časom njegovega izteka, potem nastavite čas veljavnosti na čas, ki je že potekel.
  • Ustvarite novo datoteko z imenom cookie_destroy.php z naslednjo kodo
  • Ponovite korake od 1 do 3 iz zgornjega razdelka o pridobivanju vrednosti piškotkov.
  • Odprite URL http: //localhost/phptuts/cookie_destroy.php
  • Preklopite na URL http: //localhost/phptuts/cookies_read.php, katere rezultate prikaže?

Kaj je seja?

  • Seja je globalna spremenljivka, shranjena na strežniku.
  • Vsaki seji je dodeljen enolični ID, ki se uporablja za pridobivanje shranjenih vrednosti.
  • Vsakič, ko se seja ustvari, se piškotek, ki vsebuje enoličen ID seje, shrani v uporabnikov računalnik in se z vsako zahtevo vrne strežniku. Če odjemalski brskalnik ne podpira piškotkov, je v URL-ju prikazan edinstven ID seje php
  • Seje lahko shranijo razmeroma velike podatke v primerjavi s piškotki.
  • Vrednosti seje se samodejno izbrišejo, ko je brskalnik zaprt. Če želite vrednosti shraniti trajno, jih shranite v bazo podatkov.
  • Tako kot spremenljivka matrike $ _COOKIE so tudi spremenljivke seje shranjene v spremenljivki matrike $ _SESSION. Tako kot piškotke je treba sejo začeti pred kakršnimi koli oznakami HTML.

Zakaj in kdaj uporabljati seje?

  • Pomembne podatke, kot je uporabniški ID, želite varneje shraniti na strežniku, kjer se zlonamerni uporabniki ne morejo kalirati z njimi.
  • Vrednosti želite prenesti z ene strani na drugo.
  • Želite alternativo piškotkom v brskalnikih, ki ne podpirajo piškotkov.
  • Globalne spremenljivke želite shraniti na učinkovitejši in varnejši način v primerjavi s posredovanjem v URL-ju
  • Razvijate aplikacijo, kot je nakupovalni voziček, ki mora začasno hraniti podatke z zmogljivostjo večjo od 4 KB.

Ustvarjanje seje

Če želite ustvariti sejo, morate najprej poklicati funkcijo PHP session_start in nato vrednosti shraniti v spremenljivko polja $ _SESSION.

Recimo, da želimo vedeti, kolikokrat je bila stran naložena, za to lahko uporabimo sejo.

Spodnja koda prikazuje, kako ustvariti in pridobiti vrednosti iz sej

Izhod:

You are visitor number 1

Uničevanje spremenljivk seje

Funkcija session_destroy () se uporablja za uničenje celotnih spremenljivk seje Php.

Če želite uničiti samo en element seje, uporabite funkcijo unset ().

Spodnja koda prikazuje uporabo obeh metod.

Session_destroy odstrani vse podatke seje, vključno s piškotki, povezanimi s sejo.

Unset sprosti samo posamezne spremenljivke seje.

Drugi podatki ostajajo nedotaknjeni.

Povzetek

  • Piškotki so majhne datoteke, shranjene v uporabnikovem računalniku
  • Piškotke je mogoče brati samo z domene izdaje
  • Piškotki lahko potečejo, če ni nastavljen, potem piškotek poteče, ko je brskalnik zaprt
  • Seje so kot globalne spremenljivke, shranjene na strežniku
  • Vsaka seja dobi edinstven identifikacijski ID, ki se uporablja za sledenje spremenljivkam za uporabnika.
  • Tako piškotke kot seje je treba začeti, preden so v brskalnik poslane kakršne koli oznake HTML.