PHP中跨多个选项卡的会话或cookie

问题描述

| 是否可以设置所有选项卡中都存在的会话变量或cookie? 我以为firefox会在所有现有选项卡上保持会话,但是经过即时测试,发现只有最初设置会话的当前选项卡才可用。 谢谢! 编辑: 标签1:
setcookie(\"testcookie\",\"something\",time()+(60*60*24*365));
标签2:
print_r($_COOKIE[\'testcookie\']);
选项卡2仅打印一个空数组。如果将其移至选项卡1,它将打印出cookie。     

解决方法

        Cookies始终发送到服务器,条件是: 域匹配(包括子域)。 路径匹配(可以将cookie分配给特定路径-将它们分配给root意味着整个域)。 端口匹配。 如果将cookie设置为安全,则协议(http / https)匹配。 只要所有这些都是正确的,就应该在所有选项卡上都具有基于cookie的会话。您需要刷新选项卡才能查看cookie的任何效果(包括在Firefox扩展的Javascript中查看它)。 如果所有这些都是正确的,并且您仍然没有在所有选项卡上看到cookie,则您需要进行大量调试...这不是标准行为。     ,        当我测试您在编辑中显示的代码时,我一点都没有问题... 您可以尝试的一些方法是: 从firefox清除所有cookie并再次运行(如果您之前已经设置过cookie,但是使用其他设置,浏览器有时会感到困惑... 请尝试使用其他浏览器或另一台计算机。 将Cookie的路径设置为\“ / \”,并可选地将域设置为.youdomain.com,例如
setcookie(\"testcookie\",\"something\",time()+(60*60*24*365),\"/\",\".yourdomain.com\");
如果您仍然无法使它正常工作,那么我最好的选择就是清理服务器,可能是重新安装PHP和Apache。     ,        要具有通用存储,请使用cookie。 Cookie是客户端 会话是服务器端