Archive for March 13th, 2008

Deleting Cookies

Thursday, March 13th, 2008

Problem
You want to delete a cookie so a browser doesn’t send it back to the server.

Solution
Call setcookie() with no value for the cookie and an expiration time in the past:

setcookie('flavor','',time()-86400);

Discussion
It’s a good idea to make the expiration time a few hours or an entire day in the past,
in case your server and the user’s computer have unsynchronized clocks. For example,
if your server thinks it’s 3:06 P.M. and a user’s computer thinks it’s 3:02 P.M.,a
cookie with an expiration time of 3:05 P.M. isn’t deleted by that user’s computer
even though the time is in the past for the server.
The call to setcookie() that deletes a cookie has to have the same arguments (except
for value and time) that the call to setcookie() that set the cookie did,so include the
path, domain, and secure flag if necessary.