PHP Cookies

Cookies bruges ofte til at identificere brugere.

Hvad er en Cookie?

Cookies bruges ofte til at identificere brugere. En cookie er en lille fil, som serveren efterlader på brugerens computer. Hver gang den samme computer gennem browseren anmoder om en side, sendes cookie'en sammen. Ved hjælp af PHP kan du oprette og hente værdien af en cookie.

Hvordan oprettes en cookie?

setcookie() funktionen bruges til at sætte en cookie.

Bemærk:setcookie() funktionen skal være placeret før <html>-tagget.

Syntaks

setcookie(name, value, expire, path, domain);

Eksempel

I nedenstående eksempel opretter vi en cookie med navnet "user", tildeler den værdien "Alex Porter". Vi har også defineret, at denne cookie udløber om en time:

<?php 
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>

Bemærk:Når en cookie sendes, bliver værdien automatisk URL-kodet, og den dekodes automatisk ved hentning (brug setrawcookie() i stedet for URL-kodning).

Hvordan henter man værdien af en Cookie?

PHP's $_COOKIE variabel bruges til at hente værdien af en cookie.

I nedenstående eksempel henter vi værdien af cookien med navnet "user" og viser den på siden:

<?php
// Udskriv en cookie
echo $_COOKIE["user"];
// En måde at se alle cookies på
print_r($_COOKIE);
?>

I nedenstående eksempel bruger vi isset() funktionen til at bekræfte, om der er blevet sat en cookie:

<html>
<body>
<?php
if (isset($_COOKIE["user"]))
  echo "Velkommen " . $_COOKIE["user"] . "!<br />";
else
  echo "Velkommen gæst!<br />";
?>
</body>
</html>

Hvordan sletter man en cookie?

Når du sletter en cookie, skal du ændre udløbsdatoen til en tidspunkt i fortiden.

Eksempel på sletning:

<?php 
// sæt udløbsdatoen til en time siden
setcookie("user", "", time()-3600);
?>

Hvad gør man, hvis browseren ikke understøtter cookies?

Hvis din applikation involverer browsere, der ikke understøtter cookies, må du tage andre metoder til at overføre information mellem en side og en anden i din applikation. En måde at gøre det på er at sende data fra formularen (om formularen og brugerinput har vi allerede introduceret tidligere i denne trin-for-trin guide).

Denne formular sender brugerens input til "welcome.php", når brugeren klikker på submit-knappen:

<html>
<body>
<form action="welcome.php" method="post">
Navn: <input type="text" name="name" />
Alder: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Hent værdien fra "welcome.php", som dette:

<html>
<body>
Velkommen <?php echo $_POST["name"]; ?>.<br />
Du er <?php echo $_POST["age"]; ?> år gammel.
</body>
</html>