因此,我尝试了多个其他“解决方案”,以解决我的问题(无论是在本网站还是其他网站上),无法找到适合我的解决方案。PHP cookie不会被取消设置/删除 - 无法注销
我想设置一个cookie来登录我的用户,然后在注销时删除该cookie。这是我的代码。
list ($check, $data) = check_login($dbc, $_POST['Username'], $_POST['Password']);
if ($check) {
setcookie('Username', $data['Username'], time() + 60*60*24*90);
header('Location: RedirectPage.php');
其中,检查用户名和密码已经输入的登录表单(并接受),如果是的话,cookie的“用户名”设置从数据库中提取用户名和时间等于90天,然后用户被重定向。
这部分工作正常,它会按照预期记录用户。
在删除部分然而,
header('Refresh: 0;');
setcookie('Username', '', time() - 60*60*24*90);
unset($_COOKIE['Username']);
require ('RedirectPage.php');
redirect_user();
我删除它被设置,如预期一样饼干,删除任何数据和时间设置为负值,然后好措施我运行未设置的cookie以确保它已经消失。
除此之外,这不起作用。 setcookie(要删除)不会做任何事情,并且未设置的cookie只在页面运行后才起作用(在本例中为index.php),并且一旦我点击另一个页面或刷新页面时,它就会“忘记”该Cookie已被删除。
现在正在进入Chrome的检查元件检查Cookie我得到
Username, "Value" (the withdrawn username), r3gamers.com (domain),/(path), 2015-02-03T13:45:00 (Expires/MaxAge), 19 (Size) and HTTP and Secure are both set as empty.
看着击中注销按钮之后的过程中,这个cookie是永远不会被删除。唯一可以实际删除cookie的是用新的cookie覆盖它(再次登录)或通过检查元素删除它。
任何想法?据我所知,我正在做所有应该做的事情。
编辑: 我也想提一下,当在localhost上通过netbeans离线测试这个功能时,这个功能确实有效。但是,当我上传页面给我的网站godaddy他们停止正常工作。
你的答案是有帮助的(Y)。但它不只是一个godaddy的东西。 – Eaweb 2018-02-08 01:26:02