Beschrijving
boolean
setcookie
( string name [, string value [, int expire [, string path [,
string domain [, int secure]]]]])
setcookie(
)
defineert
een
cookie
dat
wordt
meegezonden
met
de
rest
van
de
header
informatie
.
Zoals
elke
header
moeten
cookies
verzonden
worden
voordat
er
output
verzonden
wordt
vanuit
je
script
(
dit
is
een
restrictie
van
het
protocol
)
.
Daarom
moet
je
deze
functie
aanroepen
voor
enige
output
,
zoals
html
of
head
Daarom
moet
je
deze
functie
aanroepen
voor
enige
output
,
zoals
html
of
head
tags
en
whitespace
.
Als
er
toch
output
wordt
doorgegeven
voor
het
aanroepen
van
deze
functie
,
dan
zal
setcookie(
)
falen
en
FALSE
terug
geven
.
Als
alles
goed
is
gegaan
,
geeft
hij
TRUE
terug
.
Dit
wil
echter
niet
zeggen
dat
de
gebruiker
het
cookie
geaccepteerd
heeft
.
Alle
argumenten
behalve
de
name
parameter
zijn
optioneel
.
Als
alleen
het
name
argument
aanwezig
is
,
wordt
het
cookie
met
die
naam
verwijderd
van
de
remote
client
.
Je
mag
een
willekeurig
argument
ook
vervangen
door
een
lege
string
(
"
"
)
om
dat
argument
over
te
slaan
.
De
expire
en
secure
argumenten
zijn
integers
en
kunnen
niet
worden
overgeslagen
met
een
lege
string
.
Gebruik
in
plaats
daarvan
een
nul
(
0
)
.
De
expire
parameter
is
een
normaal
Unix
tijds
integer
zoals
wordt
teruggegeven
door
de
time(
)
of
mktime(
)
functies
.
De
secure
geeft
aan
dat
het
cookie
alleen
mag
worden
verzonden
over
een
veilige
HTTPS
verbinding
.
Wanneer
cookies
eenmaal
zijn
ingesteld
,
kunnen
ze
worden
opgeroepen
op
de
volgende
pagina
met
de
$_COOKIE
of
$HTTP_COOKIE_VARS
Wanneer
cookies
eenmaal
zijn
ingesteld
,
kunnen
ze
worden
opgeroepen
op
de
volgende
pagina
met
de
$_COOKIE
of
$HTTP_COOKIE_VARS
array
.
Let
op
dat
autoglobals
zoals
$_COOKIE
vanaf
PHP
4.1.0
pas
aanwezig
zijn
.
$HTTP_COOKIE_VARS
bestaat
al
vanaf
PHP
3
.
Veel
voorkomende
fouten
:
-
Cookies
worden
niet
zichtbaar
tot
de
volgende
keer
dat
een
pagina
waarop
het
cookie
zichtbaar
is
wordt
geladen
.
Om
te
testen
of
een
cookie
succesvol
is
meegegeven
,
controleer
dan
voor
cookies
bij
het
laden
van
de
pagina
voor
de
cookie
verloopt
.
De
verlooptijd
kan
je
instellen
met
de
expire
parameter
.
-
Cookies
moeten
worden
verwijderd
met
dezelfde
parameters
als
waarmee
ze
werden
ingesteld
.
-
Cookie
namen
kunnen
aangegeven
zijn
als
array
namen
en
zullen
dan
aanwezig
zijn
in
je
PHP
scripts
als
array
,
maar
worden
bij
de
gebruiker
als
aparte
cookies
opgeslagen
.
Overweeg
explode(
)
of
serialize(
)
om
één
cookie
te
gebruiken
die
meerdere
namen
en
waardes
bevat
.
In
PHP
3
worden
meerdere
aanroepen
van
setcookie(
)
in
hetzelfde
script
verwerkt
in
omgekeerde
volgorde
.
Als
je
probeert
een
cookie
te
verwijderen
voordat
je
een
nieuwe
neerzet
,
moet
je
het
toevoegen
doen
voor
het
verwijderen
.
In
PHP
4
worden
meerdere
aanroepen
van
setcookie(
)
verwerkt
in
de
volgorde
waarop
ze
worden
aangeroepen
.
Een
paar
voorbeelden
volgen
over
hoe
je
cookies
moet
verzenden
:
Voorbeeld
1
.
setcookie(
)
stuur
voorbeelden
setcookie
(
"TestCookie"
,
$value)
;
setcookie
("TestCookie"
,
$value,time()+3600)
;
/
*
verloopt
in
1
uur
*
/
setcookie
("TestCookie"
,
$value,time()+3600
,
"
/
~rasmus
/
"
,
".utoronto.ca"
,
1)
;
|
|
Wanneer
je
een
cookie
verwijdert
moet
je
zorgen
dat
de
expiratie
datum
in
het
verleden
is
,
om
het
verwijder
mechanisme
in
je
browser
te
activeren
.
Er
volgen
voorbeelden
hoe
je
in
het
vorige
voorbeeld
verzonden
cookies
kunt
verwijderen
:
Voorbeeld
2
.
setcookie(
)
verwijder
voorbeelden
/
/
zet
de
verlooptijd
naar
1
uur
in
het
verleden
setcookie
(
"TestCookie"
,
""
,
time(
)
-
3600)
;
setcookie
("TestCookie"
,
""
,
time(
)
-
3600
,
"
/
~rasmus
/
"
,
".utoronto.ca"
,
1)
;
|
|
Let
er
op
dat
het
waarde
deel
van
het
cookie
automatisch
wordt
ge-urlencoded
wanneer
je
het
cookie
verzendt
,
en
wanneer
het
wordt
ontvangen
,
wordt
het
automatisch
gedecodeerd
en
toegewezen
aan
een
variabele
met
dezelfde
naam
als
de
cookie
naam
.
Om
de
inhoud
van
ons
test
cookie
in
een
script
te
zien
,
kun
je
simpelweg
een
van
de
volgende
voorbeelden
gebruiken
:
Je
kunt
ook
array
cookies
zetten
door
array
notatie
in
de
cookie
naam
te
gebruiken
.
Dit
heeft
het
effect
dat
er
evenveel
cookies
worden
neergezet
als
je
array
elements
hebt
,
maar
als
het
cookie
wordt
ontvangen
door
je
script
worden
de
waarden
allemaal
geplaatst
in
een
array
met
de
naam
van
het
cookie
:
Voor
meer
informatie
over
cookies
,
zie
Netscape
'
s
cookie
specificatie
op
http
:
/
/www.netscape.com
/
newsref
/
std
/
cookie_spec.html
.
Microsoft
Internet
Explorer
4
met
Service
Pack
1
werkt
niet
goed
met
cookies
die
hun
path
parameter
hebben
ingesteld
.
Netscape
Communicator
4.05
en
Microsoft
Internet
Explorer
3.x
lijken
cookies
incorrect
af
te
handelen
wanneer
het
pad
en
de
tijd
niet
zijn
ingesteld
.