Vad är cookie?
En cookie är en liten fil med den maximala storleken på 4KB som webbservern lagrar på klientdatorn.
När en cookie har ställts in returnerar alla sidförfrågningar som följer cookiens namn och värde.
En cookie kan bara läsas från den domän som den har utfärdats från. Till exempel kan en cookieuppsättning med domänen www.guru99.com inte läsas från domänen career.guru99.com.
De flesta webbplatser på internet visar element från andra domäner, t.ex. reklam. Domänerna som betjänar dessa element kan också ställa in sina egna cookies. Dessa kallas cookies från tredje part.
En cookie som skapats av en användare kan bara vara synlig för dem. Andra användare kan inte se dess värde.
De flesta webbläsare har alternativ för att inaktivera kakor, kakor från tredje part eller båda.
Om så är fallet svarar PHP genom att skicka cookietoken i webbadressen.
Diagrammet nedan visar hur cookies fungerar.
Här,
1) En användare begär en sida som lagrar cookies
2) Servern ställer in kakan på användarens dator
3) Andra sidförfrågningar från användaren returnerar kakans namn och värde
I den här handledningen lär du dig-
- Varför och när ska jag använda kakor?
- Skapa kakor
- Hämtar Cookie-värdet
- Ta bort kakor
- Vad är en session?
- Varför och när ska jag använda sessioner?
- Skapa en session
- Förstör sessionvariabler
Varför och när ska jag använda kakor?
-
Http är ett statslöst protokoll; Med cookies kan vi spåra applikationens tillstånd med hjälp av små filer som lagras på användarens dator.
Sökvägen till vilken cookies lagras beror på webbläsaren.
Internet Explorer lagrar dem vanligtvis i mappen Temporal Internet Files.
-
Anpassa användarupplevelsen - detta uppnås genom att användarna kan välja sina preferenser.
Sidan som efterfrågas följer är anpassad baserat på inställningarna i kakorna.
- Spåra de sidor som en användare besökt
Skapa kakor
Låt oss nu titta på den grundläggande syntaxen som används för att skapa en cookie.
HÄR,
- Php “setcookie” är den PHP-funktion som används för att skapa kakan.
- “Cookie_name” är namnet på den cookie som servern kommer att använda när hämtar sitt värde från $ _COOKIE-arrayvariabeln. Det är obligatoriskt.
- “Cookie_value” är värdet på cookien och dess obligatoriska
- ”[Expiry_time]” är valfritt; den kan användas för att ställa in utgångstiden för kakan, t.ex. en timme. Tiden ställs in med funktionerna för PHP-tid () plus eller minus ett antal sekunder som är större än 0, dvs tid () + 3600 under 1 timme.
- ”[Cookie_path]” är valfritt; den kan användas för att ställa in cookie-sökvägen på servern. Snedstrecket "/" innebär att kakan kommer att göras tillgänglig på hela domänen. Underkataloger begränsar kakans åtkomst till underdomänen.
- ”[Domän]” är valfritt, det kan användas för att definiera cookieåtkomsthierarkin, dvs www.cookiedomain.com betyder hela domänen medan www.sub.cookiedomain.com begränsar cookieåtkomsten till www.sub.cookiedomain.com och dess under domäner. Observera att det är möjligt att ha en underdomän till en underdomän så länge det totala antalet tecken inte överstiger 253 tecken.
- ”[Säker]” är valfritt, standard är falskt. Den används för att avgöra om kakan skickas via https om den är satt till true eller http om den är inställd på false.
- "[Httponly]" är valfritt. Om det är satt till sant, är det bara skriptspråk på klientsidan, dvs. JavaScript kan inte komma åt dem.
Obs! Php set cookie-funktionen måste köras före HTML-öppningstaggen.
Låt oss nu titta på ett exempel som använder cookies.
Vi skapar ett grundläggande program som gör att vi kan lagra användarnamnet i en cookie som löper ut efter tio sekunder.
Koden nedan visar implementeringen av ovanstående exempel “cookies.php”.
Produktion:
the cookie has been set for 60 seconds
Hämtar Cookie-värdet
Skapa en annan fil med namnet “cookies_read.php” med följande kod.
Produktion:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Obs! $ _COOKIE är en PHP inbyggd superglobal variabel.
Den innehåller namn och värden på alla inställda kakor.
Antalet värden som
$ _COOKIE-matrisen kan innehålla beror på minnesstorleken som anges i php.ini.
Standardvärdet är 1 GB.
Testar vår ansökan.
Låt oss anta att du har sparat dina PHP-filer i phptus-mappen.
- Steg 1 - öppna din webbläsare och ange webbadressen http: //localhost/phptuts/cookies_read.php
Obs! Endast en tom matris har visats
- Steg 2 - Webbläsare till webbadressen http: //localhost/phptuts/cookies.php
- Steg 3 - Byt tillbaka till den första fliken och klicka sedan på uppdateringsknappen
Vänta en minut och klicka sedan på uppdateringsknappen igen. Vilka resultat fick du?
Ta bort kakor
- Om du vill förstöra en cookie innan dess utgångstid ställer du in utgångstiden till en tid som redan har passerat.
- Skapa en ny arkiverad med namnet cookie_destroy.php med följande kod
- Upprepa steg 1 till och med 3 från ovanstående avsnitt för att hämta cookievärden.
- Öppna webbadressen http: //localhost/phptuts/cookie_destroy.php
- Byt till webbadressen http: //localhost/phptuts/cookies_read.php vilka resultat visar den?
Vad är en session?
- En session är en global variabel som lagras på servern.
- Varje session tilldelas ett unikt id som används för att hämta lagrade värden.
- När en session skapas lagras en cookie som innehåller det unika sessions-idet på användarens dator och returneras med varje begäran till servern. Om klientens webbläsare inte stöder cookies visas det unika php-sessionens id i URL: en
- Sessioner har kapacitet att lagra relativt stora data jämfört med cookies.
- Sessionsvärdena raderas automatiskt när webbläsaren stängs. Om du vill lagra värdena permanent ska du lagra dem i databasen.
- Precis som arrayvariabeln $ _COOKIE lagras sessionsvariabler i $ _SESSION-variabeln. Precis som cookies måste sessionen startas före HTML-taggar.
Varför och när ska jag använda sessioner?
- Du vill lagra viktig information som användar-ID säkrare på servern där skadliga användare inte kan temperera med dem.
- Du vill skicka värden från en sida till en annan.
- Du vill ha alternativet till cookies i webbläsare som inte stöder cookies.
- Du vill lagra globala variabler på ett effektivt och säkrare sätt jämfört med att skicka dem i webbadressen
- Du utvecklar en applikation som en kundvagn som måste lagra information tillfälligt med en kapacitet större än 4KB.
Skapa en session
För att skapa en session måste du först ringa till PHP session_start-funktionen och sedan spara dina värden i variabeln $ _SESSION.
Låt oss anta att vi vill veta hur många gånger en sida har laddats, vi kan använda en session för att göra det.
Koden nedan visar hur man skapar och hämtar värden från sessioner
Produktion:
You are visitor number 1
Förstör sessionvariabler
Session_destroy () -funktionen används för att förstöra hela Php-sessionsvariablerna.
Om du bara vill förstöra en session enstaka objekt använder du funktionen unset ().
Koden nedan illustrerar hur man använder båda metoderna.
Session_destroy tar bort all sessionsdata inklusive cookies som är associerade med sessionen.
Unset frigör bara de enskilda sessionsvariablerna.
Övriga uppgifter förblir intakta.
Sammanfattning
- Cookies är små filer som sparas på användarens dator
- Cookies kan endast läsas från den utfärdande domänen
- Cookies kan ha en utgångstid, om den inte är inställd, upphör cookien när webbläsaren är stängd
- Sessioner är som globala variabler lagrade på servern
- Varje session ges ett unikt identifierings-id som används för att spåra variablerna för en användare.
- Både cookies och sessioner måste startas innan HTML-taggar har skickats till webbläsaren.