我在用户登录我的网站时设置了一个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设置它仍然会出错。
编辑似乎刷新页面后会话存在,但之后会清除会话。页面刷新后会话是否会继续?
答案 0 :(得分:2)
确保您致电session_start();
并将Cookie设置在脚本的顶部,否则会发送标题并导致session_start()
和setcookie()
失败。
另外,正如@MiloLaMar所指出的那样,如果你打开了error_reporting,你会发现它失败了:
ini_set('display_errors', 1);
error_reporting(E_ALL);