Ik ben deze vakantie voor het eerst bezig om in een PHP applicatie goed gebruik te maken van sessies en cookies. Na wat zoeken op PHP.net en prullen met scriptjes, heb ik een aantal vragen. Ik ben nl. wat in de war geraakt over een aantal begrippen:
• als een sessie geen cookie is, waarom zie ik dan mijn PHPSESSID in de cookies array bij print_r($_COOKIE)? Als ik mijn browser expliciet instel op het niet accepteren van alle cookies, werken ook mijn sessies niet. Dit geeft aan dat ook een sessie een cookie op de client achterlaat
• maar als een sessie dan ook een cookie op de client achterlaat, waarom zie ik die dan niet terug in de Temporary Internet Files van Internet Explorer? (Zie hem overigens wel in het cookie overzicht van bv. Opera en Netscape)
• als ik clientside een cookie wegschrijf, en daar geen expiration date bij zet, dan gedraagt die cookie zich als een sessie (met andere woorden: de inhoud vervalt wanneer de browser afgesloten wordt)?
• als elk domein maar 1 cookie weg mag zeggen op een client computer, waarom hebben veel (o.a. PHP) cookie functies dan een naam als setcookie? Net alsof je meerdere cookies kunt zeggen. Beter zou dan toch zijn setcookievalue() oid?
• als ik voor de ene cookievalue een andere expirationdate zet dan voor een andere, dan wil dat zeggen dat de ene variabele in dat cookie eerder verloopt dan de andere variabele? Je zou dus eigenlijk moeten zeggen "de expiration van deze cookie variabele is 2 mei" in plaats van "dit cookie verloopt op 2 mei". Of zit ik er nu helemaal naast?
Ik hoop op een paar bevestigende
antwoorden, want ik vind het wat verwarrend allemaal...
• als een sessie geen cookie is, waarom zie ik dan mijn PHPSESSID in de cookies array bij print_r($_COOKIE)? Als ik mijn browser expliciet instel op het niet accepteren van alle cookies, werken ook mijn sessies niet. Dit geeft aan dat ook een sessie een cookie op de client achterlaat
• maar als een sessie dan ook een cookie op de client achterlaat, waarom zie ik die dan niet terug in de Temporary Internet Files van Internet Explorer? (Zie hem overigens wel in het cookie overzicht van bv. Opera en Netscape)
• als ik clientside een cookie wegschrijf, en daar geen expiration date bij zet, dan gedraagt die cookie zich als een sessie (met andere woorden: de inhoud vervalt wanneer de browser afgesloten wordt)?
• als elk domein maar 1 cookie weg mag zeggen op een client computer, waarom hebben veel (o.a. PHP) cookie functies dan een naam als setcookie? Net alsof je meerdere cookies kunt zeggen. Beter zou dan toch zijn setcookievalue() oid?
• als ik voor de ene cookievalue een andere expirationdate zet dan voor een andere, dan wil dat zeggen dat de ene variabele in dat cookie eerder verloopt dan de andere variabele? Je zou dus eigenlijk moeten zeggen "de expiration van deze cookie variabele is 2 mei" in plaats van "dit cookie verloopt op 2 mei". Of zit ik er nu helemaal naast?
Ik hoop op een paar bevestigende
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."