我目前正在处理我网站的用户登录部分。我一直在 3 种浏览器(Chrome、IE、FF)上进行测试。我有一个独立的页面,我正在使用(test.php)来创建一个用于测试目的的 cookie。
示例代码:
session_start();
setcookie("log_token", "blah", time() + 60*60*24*7);
echo "\n<pre>";
print_r($_COOKIE);
echo "</pre>";
这在 IE 和 FF 上正确显示。
Array
(
[PHPSESSID] => 894ati3nr464gbvk41hjco6eu4
[log_token] => blah
)
然而,在谷歌浏览器上我得到了
Array
(
)
我做了一些测试,发现我在(index.php)中有一些代码在不满足某个测试时会删除我的会话和 cookie 数据。经过验证和测试,我在 (test.php) 中将 cookie 的名称更改为 (login_token1),现在我在 chrome 中看到了这个:
Array
(
[log_token1] => blah
)
这意味着会话和“log_token”正在从(index.php)中的代码中销毁。为了进一步测试这一点,我从 (index.php) 中删除了该代码,并在 chrome 中重新测试了“log_token”,并显示了正确的 cookie 和会话 ID。
我的问题:为什么在世界上调用 index.php 的 php 代码,当我直接运行(test.php)时.....这绝对没有意义,因为它不会发生在 IE 或 FF 中。任何见解都会很可爱。