【发布时间】:2019-02-06 18:06:07
【问题描述】:
当用户返回我的网站时,它会尝试从 $_COOKIE 关联数组恢复他们的最后一个会话。它没有按预期工作。我可以在浏览器的 cookie 管理器中查看 cookie 是否存在,但它们似乎没有保存到 $_SESSION 关联数组中。
这实质上是用户返回我的网站时的程序流程:
foreach ( $_COOKIE as $name => $val )
{
$_SESSION[$name] = $val;
}
session_start();
...
$some_var = $_SESSION[$var_name];
我是否有问题,或者我不应该覆盖PHPSESSID?任何关于我做错了什么的见解将不胜感激。谢谢。
【问题讨论】:
-
你完全错了。您需要做的唯一 事情就是调用
session_start()- 忘记$_COOKIEs,PHP 会为您完成所有这些。 -
那么,我手动保存 cookie (
setcookie),session_start会自动将它们保存回$_SESSION关联数组? -
您不需要
setcookie()- 调用session_start()会自动为您设置cookie。
标签: php session cookies session-cookies