当前位置:  开发笔记 > 编程语言 > 正文

PHP cookie问题,适用于Firefox而不是其他浏览器

如何解决《PHPcookie问题,适用于Firefox而不是其他浏览器》经验,为你挑选了1个好方法。

我在php中设置cookie有问题.我要说我对php不是很有经验,所以也许是一个非常愚蠢的问题.

我有一个ajax评级系统应该检查一个cookie,看看这张照片是否已被投票.

使用ajax检查cookie的页面,添加您投票给它的照片的ID并调用此函数:

   setcookie("Name", $cookie, time()+(60*24*365), "/",  $_SERVER['HTTP_HOST'], 0); 

显示照片的页面也会调用cookie

   $cookie = $_COOKIE['Name'];

并检查你是否已经投票.

问题可能在于ajax页面与显示照片的页面位于不同的目录中.

显示照片的页面位于根目录中,投票的页面位于/ajax/vote.php中

在我检查IP之前,投票系统有效,但我知道我需要检查cookie.

它在Firefox中运行没有任何问题,但是当我开始在IE和Safari上进行测试时,似乎他们看不到cookie.

我已经使用IECookieViewer进行了检查,当我投票时,cookie已经创建了,但是当我回到页面时,它看起来像页面找不到cookie.此外,如果我再次投票,则将cookie替换为新的.

对不起英语不好,我希望这个问题是可以理解的

PS忘了指出可能与问题有关的事情.该页面位于iframe中.



1> random..:

检查其他浏览器的cookie设置,如果它们设置为阻止全部或退出时为空.

如果cookie在一个浏览器中工作,而不是在另一个浏览器中工作,则需要确保其他浏览器首先允许您设置cookie.

有时它看起来像你可以创建cookie,但随后每个页面重新加载它将消失或删除.

来自iframe的Cookie

也有可能因为您在iframe中设置了Cookie,浏览器可能会将其视为第三方Cookie并拒绝它,除非在浏览器首选项中明确规定允许第三方Cookie.

在这种情况下,您需要在尝试设置cookie的页面上使用紧凑的隐私策略(或紧凑的P3P标头).

对于PHP,您可以将其添加为设置cookie的页面的标题:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有