PHP                
            koekjes
        
        
            
    Zoeken…
Invoering
Een HTTP-cookie is een klein stukje gegevens dat vanaf een website wordt verzonden en door de webbrowser van de gebruiker op de computer van de gebruiker wordt opgeslagen terwijl de gebruiker browst.
Syntaxis
bool setcookie( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )
parameters
| parameter | detail | 
|---|---|
| naam |  De naam van de cookie. Dit is ook de sleutel die u kunt gebruiken om de waarde op te halen uit de $_COOKIE super global. Dit is de enige vereiste parameter  | 
| waarde | De waarde om in de cookie op te slaan. Deze gegevens zijn toegankelijk voor de browser, dus bewaar hier niets gevoeligs. | 
| vervallen | Een Unix-tijdstempel dat aangeeft wanneer de cookie moet verlopen. Indien ingesteld op nul vervalt de cookie aan het einde van de sessie. Indien ingesteld op een lager aantal dan de huidige Unix-tijdstempel, verloopt de cookie onmiddellijk. | 
| pad |  De reikwijdte van de cookie. Indien ingesteld op / de cookie beschikbaar zijn binnen het gehele domein. Indien ingesteld op /some-path/ dan is de cookie alleen beschikbaar in dat pad en de afstammelingen van dat pad. Standaard ingesteld op het huidige pad van het bestand waarin de cookie wordt ingesteld.  | 
| domein |  Het domein of subdomein waarop de cookie beschikbaar is. Indien ingesteld op het kale domein stackoverflow.com , zal de cookie beschikbaar zijn voor dat domein en alle subdomeinen. Indien ingesteld op een subdomein meta.stackoverflow.com is de cookie alleen beschikbaar op dat subdomein en alle sub-subdomeinen.  | 
| beveiligen |  Wanneer ingesteld op TRUE de cookie alleen ingesteld als er een beveiligde HTTPS-verbinding bestaat tussen de client en de server.  | 
| HttpOnly | Geeft aan dat de cookie alleen beschikbaar moet zijn via het HTTP / S-protocol en niet beschikbaar moet zijn voor client-side scripttalen zoals JavaScript. Alleen beschikbaar in PHP 5.2 of hoger. | 
Opmerkingen
 Het is vermeldenswaard dat het louter aanroepen van de setcookie niet alleen gegeven gegevens in de $_COOKIE superglobal array plaatst. 
Het heeft bijvoorbeeld geen zin om te doen:
setcookie("user", "Tom", time() + 86400, "/");
var_dump(isset($_COOKIE['user'])); // yields false or the previously set value
  De waarde is er nog niet, pas wanneer de volgende pagina wordt geladen. De functie setcookie zegt gewoon " bij volgende http-verbinding de client (browser) vertellen deze cookie in te stellen ". Wanneer de headers vervolgens naar de browser worden verzonden, bevatten ze deze cookiekop. De browser controleert vervolgens of de cookie nog niet is verlopen, en als dit niet het geval is, verzendt deze in http-aanvraag de cookie naar de server en dat is wanneer PHP deze ontvangt en de inhoud in de $_COOKIE array $_COOKIE . 
Cookie instellen
 Een cookie wordt ingesteld met behulp van de functie setcookie() . Omdat cookies deel uitmaken van de HTTP-header, moet u cookies instellen voordat u uitvoer naar de browser verzendt. 
Voorbeeld:
setcookie("user", "Tom", time() + 86400, "/"); // check syntax for function params
 Beschrijving:
-  Maakt een cookie met 
user -  (Optioneel) De waarde van de cookie is 
Tom - (Optioneel) Cookie verloopt over 1 dag (86400 seconden)
 -  (Optioneel) Cookie is beschikbaar op de hele website 
/ - (Optioneel) Cookie wordt alleen verzonden via HTTPS
 - (Optioneel) Cookie is niet toegankelijk voor scripttalen zoals JavaScript
 
Een gemaakte of gewijzigde cookie kan alleen worden geopend op volgende verzoeken (waarbij
pathendomainovereenkomen), omdat het superglobal$_COOKIEniet$_COOKIEwordt gevuld met de nieuwe gegevens.
Cookie ophalen
 Een user naam Cookie ophalen en uitvoeren 
 De waarde van een cookie kan worden opgehaald met de globale variabele $_COOKIE . Als we bijvoorbeeld een cookie met de naam user hebben, kunnen we deze zo ophalen 
echo $_COOKIE['user'];
        Cookie wijzigen
De waarde van een cookie kan worden gewijzigd door de cookie opnieuw in te stellen
setcookie("user", "John", time() + 86400, "/"); // assuming there is a "user" cookie already
 Cookies maken deel uit van de HTTP-header, dus moet
setcookie()worden aangeroepen voordat uitvoer naar de browser wordt verzonden.
Zorg er bij het wijzigen van een cookie voor dat het
pathen dedomainvansetcookie()overeenkomen met de bestaande cookie, anders wordt er een nieuwe cookie gemaakt.
Het waardegedeelte van de cookie wordt automatisch urlencoded wanneer u de cookie verzendt, en wanneer deze wordt ontvangen, wordt deze automatisch gedecodeerd en toegewezen aan een variabele met dezelfde naam als de cookienaam
Controleren of een cookie is ingesteld
 Gebruik de isset() -functie op de superglobal $_COOKIE variabele om te controleren of een cookie is ingesteld. 
Voorbeeld:
// PHP <7.0
if (isset($_COOKIE['user'])) {
    // true, cookie is set
    echo 'User is ' . $_COOKIE['user'];
else {
    // false, cookie is not set
    echo 'User is not logged in';
}
// PHP 7.0+
echo 'User is ' . $_COOKIE['user'] ?? 'User is not logged in'; 
        Cookie verwijderen
Om een cookie te verwijderen, stelt u de vervaldatum in op een tijd in het verleden. Dit activeert het verwijderingsmechanisme van de browser:
setcookie('user', '', time() - 3600, '/');
 Wanneer u een cookie verwijdert, moet u ervoor zorgen dat het
pathen dedomainvansetcookie()overeenkomen met de cookie die u probeert te verwijderen, of dat er een nieuwe cookie wordt gemaakt die onmiddellijk vervalt.
 Het is ook een goed idee om de waarde $_COOKIE voor het geval de huidige pagina deze gebruikt: 
unset($_COOKIE['user']);