Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 页面重定向后无法访问cookie_Php_Cookies - Fatal编程技术网

Php 页面重定向后无法访问cookie

Php 页面重定向后无法访问cookie,php,cookies,Php,Cookies,我正在设置一个包含这种格式的vlue的cookie,并通过PHP头函数重定向到另一个页面。这是密码 setcookie("myCookie", $cookieValue, time() + $cookieLife, "/"); // cookieLife is expiration time in sec header("Location: $baseURL/index.php"); // $baseURL is "http://localhost/mysite" 正在浏览器中设置cookie

我正在设置一个包含这种格式的vlue的cookie,并通过PHP头函数重定向到另一个页面。这是密码

setcookie("myCookie", $cookieValue, time() + $cookieLife, "/"); // cookieLife is expiration time in sec
header("Location: $baseURL/index.php"); // $baseURL is "http://localhost/mysite"
正在浏览器中设置cookie。但是,我无法访问重定向页面中的cookie值,即“index.php”。我试图通过这样一个简单的回音来访问cookie值

echo $_COOKIE['myCookie'];
但是,我得到的不是cookie值,而是以下通知

Notice: Undefined index: myCookie in /path/to/my/site/index.php on line 1
在查看其他解决方案后,我已将cookie路径设置为“/”,但仍然无法解决此问题

非常感谢您的帮助

编辑
我正在XAMPP服务器上测试,这里的“mysite”实际上是我硬盘上另一个位置的别名。这可能是导致此问题的原因吗?

我假设您的cookie在离开上一页后会被删除或消失

  • 检查
    time()+$cookieLife
    是否是您希望cookie生存的所需时间。告诉我您的
    $cookieLife
    是您希望cookie生存的时间(以秒为单位),因此请确保它是您希望的值

  • 使用扩展来检查您当前的cookie(如果需要,可以修改它们)。通过这种方式,您可以检查并确保cookie是否按照您的意愿存在(您已经提到看到cookie被设置,但我将包括这一点,以防将来的访问者)

  • FireFox扩展:


    Chrome扩展名:

    此文件是否在目录/子域/其他域中?请同时添加用于获取cookie的代码。您如何尝试访问cookie?请显示一些我试图通过以下方式访问的代码:“echo$_COOKIE['myCookie'];”。此外,index.php文件还包括另一个包含html页面的php页面。我试着直接从索引页面调用cookie,也试着从包含的页面调用cookie-两者都不起作用。cookieLife工作正常-它将cookie过期时间设置为5天,我已经对它进行了测试。另外,正如我前面提到的,cookies正在浏览器中设置,但是我的php页面无法访问它。@JTG您使用的是什么浏览器?检查获取cookie值的主题。可能是您的索引页没有该cookie的“权限”(否则所有网站都可以访问您的所有cookie)。这听起来像是一个安全问题。我已经将setcookie中的path参数设置为“/”。现在,由于我的index.php的URL是“localhost/mysite/index.php”,我假设“localhost/”中的所有页面都可以访问这个cookie。根据这个逻辑,我应该能够从“mysite”目录中的任何页面访问这个cookie,因为它在localhost中。还是我在某个地方错了?@JTG你说的似乎是对的,cookie应该可以在整个域中使用。我所能想到的是,cookie以某种方式变得未设置:/此cookie是登录脚本用于验证当前用户是否已登录的数据组合的一部分-如果未设置,则表示用户已注销,并将返回登录页面。这并没有发生,所以我可以确认cookie已经设置好了。此外,它在浏览器cookie数据中也是可见的。