Recipe 8.4 Deleting Cookies
8.4.1 Problem
You
want to delete a cookie so a browser doesn't send it
back to the server.
8.4.2 Solution
Call setcookie( )
with no value for the cookie and an
expiration time in the past:
setcookie('flavor','',time()-86400);
8.4.3 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.
8.4.4 See Also
Recipe 8.2 shows how to set cookies; Recipe 8.3 shows how to read cookie values; Recipe 8.13 explains output buffering; Recipe 8.19 shows how to avoid the
"headers already sent" error
message that sometimes occurs when calling setcookie(
); documentation on setcookie( ) at
http://www.php.net/setcookie.
|