Cookies in PHP

Cookies worden ondersteund door PHP, zodat PHP programmeurs volledig gebruik kunnen maken van deze techniek. Het lezen van cookies in PHP is net zo makkelijk als het lezen van variabeles. Als voorbeeld, als er een cookie ge-set is met de naam 'gebruikersnaam' met als data 'Jan Jansen' zal de variabele $gebruikersnaam 'Jan Jansen' bevatten.

Onthoud dat de cookie alleen aanspreekbaar is waneer de client cookies accepteerd en de cookie terug stuurd naar de server.

Laten we beginnen.

Laten we beginnen met een simpel voorbeeld waar we tellen hoevaak de bezoeker onze site heeft bekeken. Om dit te doen gebruiken we een enkele cookie genaamd 'count' welke het nummer van de bezoeken opslaat. PHP maakt automatisch een variabele $count beschikbaar indien de cookie is verzonden door de user agent (door de browser). We gebruiken de setcookie() functie om een aanvraag naar de browser te sturen om de cookie te setten. Deze aanvraag update of set de cookie bij de client. Deze code MOET voor elke andere code of tekst geprogrammeerd worden anders zal het uitkomen op een foutmelding.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
    $_COOKIE
['count']++;
    setcookie('count', $_COOKIE['count']);
?>


Welkom! Je hebt deze website
<? echo $_COOKIE['count']; ?>
keer bekeken!


Het script telt de $count variabele op en verstuurd de opgetelde inhoud weer terug naar de user agent gebruikmakende van setcookie(). Als de user agent de cookie niet naar ons gestuurd heeft, zal PHP de variabele omzetten naar 0 als we hem beginnen te gebruiken. De eerste parameter van setcookie() is de naam van de cookie en de tweede parameter is de inhoud welke we willen onthouden. Aan het einde gebruiken we simpelweg een welkom's bericht.

Een vaak voorkomende fout is dat setcookie() aangeroepen wordt, nadat er al eerder content verstuurd is aan de user agent. Dit gebeurd wanneer er tekst of code en zelfs lege spaties staan voordat setcookie aangeroepen wordt. Zelfs het witte spatie karakter (een newline) kan genoeg zijn voor setcookie() om niet te werken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
Hier staat wat tekst. De volgende setcookie() zal fout gaan omdat we nu al informatie naar de browser sturen.

<?
    $_COOKIE
['count']++;
    setcookie('count', $_COOKIE['count']);
?>


Welkom! Je hebt deze website
<? echo $_COOKIE['count']; ?>
keer bekeken!


PHP zal automatisch een foutmelding weergeven als setcookie() aangeroepen wordt, nadat er al eerdere data verstuurd is.

!! DE FOUTMELDING !!
Hier staat wat tekst. De volgende setcookie() zal fout gaan omdat we nu al informatie naar de browser sturen.
<B>Warning:</B> Cannot add header information - headers already sent in path/path/filenaam.php on line 5

Indien je de foutmeldingen uit hebt gezet, zal dit probleem erg moeilijk te herkennen zijn.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Wat zijn cookies?
  2. Werking van cookies?
  3. Cookies in PHP
  4. Tijdsduur van cookies
  5. Cookie als variabele
  6. Meerdere cookies
  7. Verloop data uitgebreid
  8. Specifieke pagina's defineren
  9. Cookies voor HTTPS
  10. Cookie verwijderen

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.