Hva er informasjonskapsel?
En informasjonskapsel er en liten fil med den maksimale størrelsen på 4KB som webserveren lagrer på klientdatamaskinen.
Når en informasjonskapsel er satt, returnerer alle sideforespørsler som følger informasjonskapselnavnet og verdien.
En informasjonskapsel kan bare leses fra domenet som den er utstedt fra. For eksempel kan et sett med informasjonskapsler som bruker domenet www.guru99.com ikke leses fra domenet career.guru99.com.
De fleste nettsteder på internett viser elementer fra andre domener som reklame. Domenene som betjener disse elementene, kan også angi sine egne informasjonskapsler. Disse er kjent som tredjeparts informasjonskapsler.
En informasjonskapsel opprettet av en bruker kan bare være synlig for dem. Andre brukere kan ikke se verdien.
De fleste nettlesere har muligheter for å deaktivere informasjonskapsler, tredjeparts informasjonskapsler eller begge deler.
Hvis dette er tilfelle, svarer PHP ved å sende informasjonskapsel-tokenet i URL-en.
Diagrammet nedenfor illustrerer hvordan informasjonskapsler fungerer.
Her,
1) En bruker ber om en side som lagrer informasjonskapsler
2) Serveren setter informasjonskapselen på brukerens datamaskin
3) Andre sideforespørsler fra brukeren vil returnere informasjonskapselens navn og verdi
I denne veiledningen vil du lære-
- Hvorfor og når skal jeg bruke informasjonskapsler?
- Opprette informasjonskapsler
- Henter informasjonskapselverdien
- Slett informasjonskapsler
- Hva er en økt?
- Hvorfor og når du skal bruke økter?
- Opprette en økt
- Ødelegge sesjonsvariabler
Hvorfor og når skal jeg bruke informasjonskapsler?
-
Http er en statsløs protokoll; informasjonskapsler lar oss spore applikasjonens tilstand ved hjelp av små filer som er lagret på brukerens datamaskin.
Stien hvor informasjonskapslene er lagret avhenger av nettleseren.
Internet Explorer lagrer dem vanligvis i mappen Temporal Internet Files.
-
Tilpasse brukeropplevelsen - dette oppnås ved å la brukerne velge preferanser.
Den etterspurte siden blir tilpasset basert på de angitte preferansene i informasjonskapslene.
- Spore sidene besøkt av en bruker
Opprette informasjonskapsler
La oss nå se på den grunnleggende syntaksen som ble brukt til å lage en informasjonskapsel.
HER,
- Php “setcookie” er PHP-funksjonen som brukes til å lage cookien.
- “Cookie_name” er navnet på cookien som serveren vil bruke når den henter verdien fra $ _COOKIE-variabelen. Det er obligatorisk.
- “Cookie_value” er verdien av cookien og dens obligatoriske
- “[Expiry_time]” er valgfritt; den kan brukes til å angi utløpstiden for informasjonskapselen, for eksempel 1 time. Tiden stilles inn ved hjelp av funksjonene PHP time () pluss eller minus et antall sekunder større enn 0 dvs. tid () + 3600 i 1 time.
- “[Cookie_path]” er valgfritt; den kan brukes til å angi informasjonskapselbanen på serveren. Skråstrek "/" betyr at informasjonskapselen blir gjort tilgjengelig på hele domenet. Underkataloger begrenser informasjonskapselens tilgang til underdomenet.
- “[Domene]” er valgfritt, det kan brukes til å definere hierarkiet for informasjonskapsel, dvs. www.cookiedomain.com betyr hele domenet, mens www.sub.cookiedomain.com begrenser informasjonskapselens tilgang til www.sub.cookiedomain.com og dets under domener. Vær oppmerksom på at det er mulig å ha et underdomener av et underdomener så lenge de totale tegnene ikke overstiger 253 tegn.
- “[Sikker]” er valgfri, standard er usann. Den brukes til å avgjøre om informasjonskapselen sendes via https hvis den er satt til true eller http hvis den er satt til false.
- "[Httponly]" er valgfritt. Hvis det er satt til sant, er det bare skriptspråk på klientsiden, dvs. JavaScript som ikke får tilgang til dem.
Merk: php set cookie-funksjonen må utføres før HTML-åpningstaggen.
La oss nå se på et eksempel som bruker informasjonskapsler.
Vi vil lage et grunnleggende program som lar oss lagre brukernavnet i en informasjonskapsel som utløper etter ti sekunder.
Koden nedenfor viser implementeringen av eksemplet ovenfor “cookies.php”.
Produksjon:
the cookie has been set for 60 seconds
Henter informasjonskapselverdien
Opprett en annen fil kalt “cookies_read.php” med følgende kode.
Produksjon:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Merk: $ _COOKIE er en PHP innebygd super global variabel.
Den inneholder navnene og verdiene til alle de angitte informasjonskapslene.
Antall verdier som
$ _COOKIE-matrisen kan inneholde, avhenger av minnestørrelsen som er angitt i php.ini.
Standardverdien er 1 GB.
Testing av søknaden vår.
La oss anta at du har lagret PHP-filene dine i phptus-mappen.
- Trinn 1 - Åpne nettleseren din og skriv inn URL-adressen http: //localhost/phptuts/cookies_read.php
Merk: Bare en tom matrise har blitt vist
- Trinn 2 - Nettleser til nettadressen http: //localhost/phptuts/cookies.php
- Trinn 3 - Bytt tilbake til den første kategorien, og klikk deretter på oppdateringsknappen
Vent et øyeblikk, og klikk deretter på oppdateringsknappen igjen. Hvilke resultater fikk du?
Slett informasjonskapsler
- Hvis du vil ødelegge en informasjonskapsel før utløpstiden, setter du utløpstiden til en tid som allerede har gått.
- Opprett et nytt arkivert navn cookie_destroy.php med følgende kode
- Gjenta trinn 1 til 3 fra avsnittet ovenfor for å hente informasjonskapsler.
- Åpne URL-adressen http: //localhost/phptuts/cookie_destroy.php
- Bytt til URL-adressen http: //localhost/phptuts/cookies_read.php hvilke resultater viser den?
Hva er en økt?
- En økt er en global variabel som er lagret på serveren.
- Hver økt tildeles en unik id som brukes til å hente lagrede verdier.
- Hver gang en økt opprettes, lagres en informasjonskapsel som inneholder den unike økt-ID-en på brukerens datamaskin og returneres med hver forespørsel til serveren. Hvis klientleseren ikke støtter informasjonskapsler, vises den unike php-sesjons-ID-en i URL-en
- Økter har kapasitet til å lagre relativt store data sammenlignet med informasjonskapsler.
- Øktsverdiene slettes automatisk når nettleseren lukkes. Hvis du vil lagre verdiene permanent, bør du lagre dem i databasen.
- Akkurat som $ _COOKIE-arrayvariabelen, lagres sesjonsvariabler i $ _SESSION-arrayvariabelen. Akkurat som informasjonskapsler, må økten startes før HTML-koder.
Hvorfor og når du skal bruke økter?
- Du vil lagre viktig informasjon som bruker-ID på en tryggere måte på serveren der ondsinnede brukere ikke kan temperere med dem.
- Du vil overføre verdier fra en side til en annen.
- Du vil ha alternativet til informasjonskapsler i nettlesere som ikke støtter informasjonskapsler.
- Du vil lagre globale variabler på en effektiv og sikrere måte sammenlignet med å sende dem i URL-en
- Du utvikler et program som en handlekurv som må midlertidig lagre informasjon med en kapasitet større enn 4KB.
Opprette en økt
For å opprette en økt, må du først ringe til PHP session_start-funksjonen og deretter lagre verdiene dine i $ _SESSION-arrayvariabelen.
Let’s suppose we want to know the number of times that a page has been loaded, we can use a session to do that.
The code below shows how to create and retrieve values from sessions
Output:
You are visitor number 1
Destroying Session Variables
The session_destroy() function is used to destroy the whole Php session variables.
If you want to destroy only a session single item, you use the unset() function.
The code below illustrates how to use both methods.
Session_destroy removes all the session data including cookies associated with the session.
Unset only frees the individual session variables.
Other data remains intact.
Summary
- Cookies are small files saved on the user’s computer
- Cookies can only be read from the issuing domain
- Cookies can have an expiry time, if it is not set, then the cookie expires when the browser is closed
- Sessions are like global variables stored on the server
- Hver økt får en unik identifikasjons-ID som brukes til å spore variablene for en bruker.
- Både informasjonskapsler og økter må startes før noen HTML-koder er sendt til nettleseren.