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.
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.
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.
Inhoudsopgave
- Wat zijn cookies?
- Werking van cookies?
- Cookies in PHP
- Tijdsduur van cookies
- Cookie als variabele
- Meerdere cookies
- Verloop data uitgebreid
- Specifieke pagina's defineren
- Cookies voor HTTPS
- Cookie verwijderen