Cookies gebruiken met PHP

Als website-ontwikkelaar kunt u PHP gebruiken om cookies in te stellen die informatie bevatten over de bezoekers van uw website. Cookies slaan informatie over een sitebezoeker op de computer van de bezoeker op die bij een volgend bezoek kan worden geraadpleegd. Een veelgebruikt gebruik van cookies is om een ​​toegangstoken op te slaan, zodat de gebruiker niet telkens opnieuw hoeft in te loggen wanneer hij uw website bezoekt. Cookies kunnen ook andere informatie opslaan, zoals de gebruikersnaam, de datum van het laatste bezoek en de inhoud van het winkelwagentje.

Hoewel cookies al jaren bestaan ​​en de meeste mensen deze hebben ingeschakeld, accepteren sommige gebruikers ze niet vanwege privacyoverwegingen of verwijderen ze automatisch wanneer hun browsesessie wordt afgesloten. Omdat cookies te allen tijde door een gebruiker kunnen worden verwijderd en in platte tekst worden opgeslagen, mag u ze niet gebruiken om iets gevoeligs op te slaan.

Hoe een cookie in te stellen met behulp van PHP

In PHP, de setcookie () functie definieert een cookie. Het wordt samen met de andere HTTP-headers verzonden en verzonden voordat de HTML-inhoud wordt ontleed.

Een cookie volgt de syntaxis:

setcookie (naam, waarde, aflopen, pad, domein, veilig, httponly);

waar naam geeft de naam van de cookie aan en waarde beschrijft de inhoud van de cookie. Voor de setcookie () functie, alleen de naam parameter is verplicht. Alle andere parameters zijn optioneel. 

Voorbeeld cookie

Om een ​​cookie met de naam "UserVisit" in de browser van de bezoeker in te stellen dat de waarde instelt op de huidige datum en de vervaldatum verder instelt op 30 dagen (2592000 = 60 seconden * 60 minuten * 24 uur * 30 dagen), gebruikt u het volgende PHP code:

$ Maand = 2592000 + tijd ();
// dit voegt 30 dagen toe aan de huidige tijd
setcookie (UserVisit, date ("F jS - g: i a"), $ Month);
?>

Cookies moeten worden verzonden voordat HTML naar de pagina wordt verzonden, anders werken ze niet setcookie () functie moet vóór de label.

Hoe een cookie op te halen met behulp van PHP

Om een ​​cookie van de computer van de gebruiker op te halen bij het volgende bezoek, noem deze met de volgende code:

if (isset ($ _ COOKIE [ 'UserVisit']))

$ last = $ _COOKIE ['UserVisit'];
echo "Welkom terug!
Je laatst bezocht op ". $ Last;

anders

echo "Welkom op onze site!";

?>

Deze code controleert eerst of de cookie bestaat. Als dit het geval is, verwelkomt het de gebruiker terug en kondigt het aan wanneer de gebruiker het laatst heeft bezocht. Als de gebruiker nieuw is, wordt een generiek welkomstbericht afgedrukt.

TIP: Als u een cookie op dezelfde pagina belt als u wilt instellen, moet u deze ophalen voordat u deze overschrijft.

Hoe een cookie te vernietigen

Gebruik om een ​​cookie te vernietigen setcookie () maar stel de vervaldatum opnieuw in:

$ past = time () - 10;
// dit maakt de tijd 10 seconden geleden
setcookie (UserVisit, date ("F jS - g: i a"), $ past);
?>

Optionele parameters

In aanvulling op waarde en vervallen, de setcookie () functie ondersteunt verschillende andere optionele parameters:

  • Pad identificeert het serverpad van de cookie. Als u deze instelt op "/", is de cookie beschikbaar voor het hele domein. Standaard werkt de cookie in de map waarin deze is ingesteld, maar u kunt deze in andere mappen laten werken door deze met deze parameter op te geven. Deze functie trapsgewijs, zodat alle submappen in een opgegeven map ook toegang hebben tot de cookie.
  • Domein   identificeert het specifieke domein waarin de cookie werkt. Om de cookie op alle subdomeinen te laten werken, geeft u het domein op het hoogste niveau expliciet op (bijvoorbeeld 'sample.com'). Als u het domein instelt op "www.voorbeeld.com", is de cookie alleen beschikbaar in het www-subdomein.
  • Secure geeft aan of de cookie via een beveiligde verbinding moet worden verzonden. Als deze waarde is ingesteld op WAAR, wordt de cookie alleen ingesteld voor HTTPS-verbindingen. De standaardwaarde is FALSE.
  • HttpOnly , indien ingesteld op WAAR, zal de cookie alleen toegankelijk zijn via het HTTP-protocol. Standaard is de waarde FALSE. Het voordeel van het instellen van de cookie op WAAR is dat scripttalen geen toegang hebben tot de cookie.