PHP -cookies
Wat is een koekje?
Een cookie wordt vaak gebruikt om een gebruiker te identificeren. Een cookie is een klein bestand dat de server op de computer van de gebruiker insluit. Elke keer dat dezelfde computer een pagina met een browser opvraagt, verzendt deze ook de cookie. Met PHP kunt u zowel cookie-waarden maken als ophalen.
Cookies maken met PHP
Met de setcookie()
functie wordt een cookie aangemaakt.
Syntaxis
setcookie(name, value, expire, path, domain, secure, httponly);
Alleen de parameter name is vereist. Alle andere parameters zijn optioneel.
PHP Een cookie maken/ophalen
In het volgende voorbeeld wordt een cookie gemaakt met de naam "user" met de waarde "John Doe". De cookie verloopt na 30 dagen (86400 * 30). De "/" betekent dat de cookie op de hele website beschikbaar is (anders selecteert u de map die u verkiest).
We halen dan de waarde van de cookie "user" op (met behulp van de globale variabele $_COOKIE). We gebruiken de isset()
functie ook om erachter te komen of de cookie is ingesteld:
Voorbeeld
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Opmerking: desetcookie()
functie moet VOORDAT de tag <html> verschijnt.
Opmerking: de waarde van de cookie wordt automatisch URL-gecodeerd bij het verzenden van de cookie, en automatisch gedecodeerd wanneer deze wordt ontvangen (gebruik setrawcookie()
in plaats daarvan om URL-codering te voorkomen).
Een cookiewaarde wijzigen
Om een cookie te wijzigen, plaatst u de cookie (opnieuw) met behulp van de setcookie()
functie:
Voorbeeld
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Een cookie verwijderen
Om een cookie te verwijderen, gebruikt u de setcookie()
functie met een vervaldatum in het verleden:
Voorbeeld
<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Controleer of cookies zijn ingeschakeld
In het volgende voorbeeld wordt een klein script gemaakt dat controleert of cookies zijn ingeschakeld. Probeer eerst een testcookie te maken met de setcookie()
functie en tel vervolgens de $_COOKIE arrayvariabele:
Voorbeeld
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
Volledige PHP-netwerkreferentie
Ga voor een volledige referentie van netwerkfuncties naar onze volledige PHP-netwerkreferentie .