【发布时间】:2011-10-04 12:07:01
【问题描述】:
我正在编写一个脚本,该脚本允许在我的网站的移动视图和桌面视图之间切换。我完成它的方法是在用户单击“桌面”时在系统上放置一个 cookie,并在用户单击“移动”时删除 cookie。
系统第一次工作时放置 cookie 并发生重定向。如果 cookie 存在,我的脚本还会读取 index.php 上的 cookie 以提供桌面视图。当用户再次点击“移动”时,我会删除 cookie 并运行 USER AGENT 检查。
第二次,当我点击“桌面”链接时,cookie 未设置,脚本无法执行。这可能是什么错误?
感谢您的宝贵时间
编辑:我正在通过 setcookie("mobile", "web",time()+31536000, "/"); 来创建 cookie;
通过setcookie("mobile", "",time()-60, "/");删除cookie
从 HTTP Headers 中我可以看到第一次执行脚本时传递了 Set-Cookie 参数,但是在我删除 cookie 并再次尝试后,没有传递 setcookie 参数。
【问题讨论】:
-
脚本执行失败时,是否记录了错误?你能提供来源吗?这里没有足够的信息来确定原因或解决方案。
-
没有错误记录,因为如果案例不存在,脚本将重定向到适当的视图。我查看了 HTTP 标头,发现与第一次执行相比,第二次没有传递 Set-Cookie 参数。
-
这是一个 PHP Web 应用程序,目前正在我的本地机器上开发。没有相同的在线 URL。
-
把逻辑倒过来有用吗? setcookie("版本", "移动", time()+31536000, "/"); setcookie("版本", "桌面", time()+31536000, "/");这样您就可以跟踪他们喜欢的页面版本,而无需明确删除 cookie。
-
感谢@GregSchoen。我尝试做同样的事情,但没有成功。