Som webbplatsutvecklare kan du använda PHP för att sätta cookies som innehåller information om besökarna på din webbplats. Cookies lagrar information om en webbplatsbesökare på besökarens dator som kan nås vid ett återbesök. En vanlig användning av cookies är att lagra en åtkomsttoken så att användaren inte behöver logga in varje gång han besöker din webbplats. Cookies kan också lagra annan information som användarens namn, datum för senaste besök och kundvagnens innehåll
Även om cookies har funnits i flera år och de flesta har dem aktiverade, accepterar vissa användare dem antingen inte på grund av integritet bekymmer eller automatiskt radera dem när deras surfsession stängs. Eftersom cookies kan tas bort av en användare när som helst och lagras i ett vanlig textformat, använd dem inte för att lagra något känsligt.
Hur man ställer in en cookie med PHP
I PHP definierar funktionen setcookie en cookie. Den skickas tillsammans med de andra HTTP-huvudena och sänds innan HTML-kroppen tolkas.
En cookie följer syntaxen:
setcookie(namn,värde,förfaller,sökväg,domän,säker,endast http);data-type="code">
där namn anger namnet på cookien och värde beskriver kakans innehåll. För funktionen setcookie är endast name-parametern krävs. Alla andra parametrar är valfria.
Exempel Cookie
För att ställa in en cookie med namnet "UserVisit" i besökarens webbläsare som ställer in värdet på det aktuella datumet, och som vidare ställer in utgången på 30 dagar (2592000 = 60 sekunder 60 minuter 24 timmar 30 dagar), använd följande PHP-kod:$Month = 2592000 + time;
//this adds 30 days to the current time
setcookie(UserVisit, date("F jS - g:i a"), $Month);
?>data-type="code">
Cookies måste skickas innan HTML skickas till sidan, annars fungerar de inte, så
setcookie -funktionen måste visas före tag.
Hur man hämtar en cookie med PHP
För att hämta en cookie från användarens dator vid nästa besök, ring den med följande kod:
if(isset($_COOKIE['UserVisit']))
{
$last = $_COOKIE['UserVisit'];
echo "Welcome back!
You last visited on ". $last;
}
else
{
echo "Welcome to our site!";
}
?>data-type="code">
Denna kod kontrollerar först om cookien finns. Om den gör det välkomnar den användaren tillbaka och meddelar när användaren senast besökte. Om användaren är ny skriver den ut ett allmänt välkomstmeddelande.TIPS: Om du ringer en cookie på samma sida som du planerar att sätta en, hämta den innan du skriver över den.Hur man förstör en kakaFör att förstöra en cookie, använd setcookie igen men ange att utgångsdatumet ska ligga i det förflutna:
$past = time - 10;
//this makes the time 10 seconds ago
setcookie(UserVisit, date("F jS - g:i a"), $past);
?>data-type="code">
Valfria parametrarFörutom värde
och går ut, funktionen setcookie stöder flera andra valfria parametrar:
Path identifierar servervägen för cookien. Om du ställer in den på "/" kommer cookien att vara tillgänglig för hela domänen. Som standard fungerar kakan i katalogen den är inställd i, men du kan tvinga den att fungera i andra kataloger genom att ange dem med den här parametern. Den här funktionen överlappar, så alla underkataloger inom en angiven katalog kommer också att ha tillgång till kakan. Domän identifierar specifik domän som cookien fungerar i. För att få cookien att fungera på alla underdomäner, specificera toppdomänen uttryckligen (t.ex. "sample.com"). Om du ställer in domänen till "www.sample.com" är cookien endast tillgänglig i underdomänen www.
Säkra anger om cookien ska överföras över en säker anslutning. Om detta värde är satt till TRUE kommer cookien endast att ställas in för HTTPS-anslutningar. Standardvärdet är FALSE.
Httponly, när den är satt till TRUE, tillåter endast cookien att nås av HTTP-protokoll. Som standard är värdet FALSE. Fördelen med att ställa in cookien till TRUE är att skriptspråk inte kan komma åt cookien.