好的,所以我现在很困惑,为什么当路径设置为'/'
时,我的$_COOKIE
没有被设置,而是设置为其他。当前的代码是
setcookie("scauth", $cookie_content, time()+60*60, "/", $_SERVER["HTTP_HOST"]);
返回错误Undefined index: scauth in C:'xampp'htdocs'pnp_site'media'zoo'elements'supercontact'send.php on line 19
,但如果我删除path
和domain
的两个参数,并运行此代码,例如..
setcookie("scauth", $cookie_content, time()+60*60);
cookie将按预期被实例化。这使得这令人困惑,因为我对$path
参数的理解根据setcookie()
文档,明确地声明'/'
的设置路径下的任何内容都将在整个域中可用(但由于某种原因它不是)。
cookie在服务器上可用的路径。如果设置为'/', cookie将在整个域中可用。
你知道为什么会这样吗?我正在运行Windows 7 ApacheFriends XAMPP Version 1.8
测试环境
尝试将$_SERVER["HTTP_HOST"]替换为带引号的字符串版本。这将告诉您该信息的格式是否正确。
也可以使用print_r($_SERVER["HTTP_HOST"]),并查看页面的源代码以更方便地读取。
通常不需要提供域名。
如果在本地测试,一些浏览器将限制本地文件访问,并且HTTP_HOST的格式可能不正确。