Jump to content

Cookie won't die...


benphp

Recommended Posts

I set a cookie on page1.php:

 

setcookie("wusername",$_REQUEST['wusername']);

 

I have another page logout.php for logging out that kills the cookie and sends me to the login page.

 

if (isset($_REQUEST['btnLogOut'])) {
setcookie ("wusername", "", time() - 3600);
header("Location: login.php");
}

 

However, when I go to the login page, login.php, I have this:

 

if (isset($_COOKIE['wusername'])) {
$wusername = "Logged in as: " . $_COOKIE['wusername'];
}

 

Which does indeed retain my cookie and prints it. Why is my cookie not dying?

Link to comment
https://forums.phpfreaks.com/topic/263507-cookie-wont-die/
Share on other sites

Cookies are destroyed by your browser, all setcookie does is sent a request to the browser to set the cookie - be it in the past or future. The browser then removes any expired cookies.

 

Have you confirmed the setcookie(foo, bar, time-3600) is definitely being executed? I find it hard to believe your browser isn't functioning properly unless you've developed your own browser.

Link to comment
https://forums.phpfreaks.com/topic/263507-cookie-wont-die/#findComment-1350533
Share on other sites

What do you mean wont die? A couple of months ago I was doing some stuff with a cookie that would cease when the browser was closed and look and it was still present in name after I closed and reopened the browser however the cookie would not work on the site, it had expired. I can't remember which browser using.

 

PS. open your browser and click the cookie name, it will tell you when it expires.  If it is a past date or time it is no good, it's just listed in the browser waiting to be deleted.

Link to comment
https://forums.phpfreaks.com/topic/263507-cookie-wont-die/#findComment-1350536
Share on other sites

Actually, come to think of it... cookies are set via HTTP header... if you're redirecting in the same header, that might cause problems / confuse the browser.

 

You may need to use a meta refresh instead to eliminate the race condition.

 

Better idea would be to use your session to store login data instead of a cookie.  It's a more secure solution anyway, as the value is stored on the server, and can't be hacked as easily.

Link to comment
https://forums.phpfreaks.com/topic/263507-cookie-wont-die/#findComment-1350597
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.