【发布时间】:2013-12-31 12:43:47
【问题描述】:
当用户登录我的网站时,我设置了一个 cookie,我也有一个他们的会话 ID,现在唯一的问题是我设置的 cookie 似乎无法访问。虽然我可以访问 PHPSESSID cookie。
用户登录:
$_SESSION['user_is_loggedin'] = 1;
setcookie('usr', $usr->username, time()+3600*24*7, '/');
访问 cookie:
if(isset($_SESSION['user_is_loggedin']) && $_SESSION['user_is_loggedin'] == 1 ) {
echo $_COOKIE['usr'];
错误:
Undefined index: usr
我明白为什么不设置 cookie 会出错,但即使设置了 cookie 仍然会出错。
EDIT 似乎在我刷新页面后会话存在,但之后它清除了会话。页面刷新后会话不会继续吗?
【问题讨论】:
-
您是否手动验证了 cookie 是否存在于您的 Web 控制台中?
-
是的,我已经验证它存在,我在刷新页面或去其他地方后尝试访问它。页面第一次刷新时它工作正常,但之后它不起作用编辑:经过更多测试,当我在清除 cookie 后第一次刷新页面然后再次登录时,它似乎只有大约 30% 的时间起作用.
-
Cookie 仅在下一个请求时在
$_COOKIE数组中可用。你知道吗? -
关于您的页面刷新,您是否在脚本顶部调用
session_start();? -
@Duck 你是一个给予者,干得好。为您的努力+1 的问题