php客户端关闭cookies,关于php:Cookies在我关闭标签页后消失了

if(isset($_POST['remember'])) {

if(!isset($_COOKIE['tracker_id'])) {

setcookie('tracker_id', $_SESSION['id'], time()+2592000);

setcookie('tracker_username', $_SESSION['username'], time()+2592000);

setcookie('tracker_rsn', $_SESSION['rsn'], time()+2592000);

}

}

我知道代码有效,因为我在登录之前先检查是否有cookie,而没有。 我登录,并且有cookie。 我关闭了标签页(而不是浏览器),在新标签页中重新打开它,并且cookie不存在。 我不确定是否忽略了某些内容,但是我不太确定这里发生了什么...

任何帮助表示赞赏

您确定Cookie实际包含值吗?

cookie过期的某些代码是否有可能被无意中触发了? 也许您应该发布更多代码? (我只是假设:)

Pekka-是的 我确保使用Firefox加载项进行设置,并且它们似乎可以正常工作。 Karim-使它们失效的唯一代码是在您单击注销时运行的,所以我认为不可能。 = /。

您如何检查Cookie是否存在?检查cookie数组并不能告诉您整个故事。如果尚未安装,请下载适用于FireFox的Web开发人员插件。它具有查看,编辑和删除您所在站点的Cookie的功能。登录后查看cookie。这将使您了解浏览器实际设置的内容。然后关闭浏览器并再次打开,访问站点,然后再次查看cookie。看看它们是否仍在那儿,只是不被阅读。

我已经学到了很难的方法,即明确地设置cookie路径和域而不是让PHP默认它是一个好主意。否则,来自mydomain.com的cookie将具有与www.mydomain.com不同的路径,这可能导致无法从mydomain.com和其他有趣的东西读取www cookie。在试图追踪问题之后,在六个月的时间里浪费了大约一周的开发时间之后,我们现在始终明确设置cookie。

如果路径不是问题,则可能是无意中删除了cookie。从SESSION传递来的值是否始终存在,以确保何时运行该代码?假值告诉PHP删除cookie,如果未在数组中定义值并且您没有强大的错误报告级别,则可能会偶然发生。

在我登录时设置了它们(我正在使用该插件检查),关闭并重新打开浏览器,但未设置它们。我删除了可能会取消设置的所有代码,但仍在发生。我只是继续前进,稍后再回来,因为它真的开始浪费我的时间。 (无论如何,这是一个周末项目。没什么大不了的。)

如果您想继续,那没问题,但是您没有真正指出Web Developer告诉您的内容... Cookie的有效期设置正确吗?如果向前移动一页,cookie也会消失吗?就是转到登录页面,发布登录表单,然后转到网站上的其他页面?如果是这样,则您不小心删除了cookie。

到期日期是准确的,并且当我更改页面时它们不会消失。现在,如果我关闭选项卡并返回,除非刷新页面,否则它们不会出现。 = /。当我关闭浏览器,重新打开它,然后返回时,它们会一直显示,直到我刷新为止。唯一可以取消设置的代码是在注销页面上,该页面只是将cookie设置为负值。因此,除非有其他方法可以取消设置Cookie或其他操作...

您的代码应按您描述的那样工作,但前提是:

1)服务器端没有其他干扰cookie值的东西

2)您尚未告诉浏览器将所有cookie视为会话cookie

您是否仅用设置和读取Cookie所需的最少代码构建了测试平台?从您发布的摘录开始,代码中显然还有很多事情要做。并尝试在不同的浏览器中进行测试。

就像是:

if ($_GET['set') {

setcookie('tracker_id', 'tracker_id set at ' . date('r'), time()+2592000);

setcookie('tracker_username', 'tracker_username set at ' . date('r'), time()+2592000);

setcookie('tracker_rsn', 'tracker_rsn set at ' . date('r'), time()+2592000);

}

print_r($_COOKIE);

?>

C。

使用您发布的代码对其进行了测试,并且效果很好。我猜这意味着我有一些代码或某些干扰的东西。虐待去研究更多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值