在我们的内联网,每个用户都可以登录,当用户成功地连接检查的cookie仍然有效
setcookie('id_user', $res['id_user'], time()+600, '/');
setcookie('email', $res['mail'], time()+600, '/');
setcookie('firstname', $res['firstname'], time()+600, '/');
setcookie('lastname', $res['name'], time()+600, '/');
10分钟后,他们将到期被创建的cookie。
我有很多页面,其中js函数正在使用$_COOKIE
变量。 我不想检查是否$_COOKIE
为空或不是每个函数。
有没有办法触发一个js函数来检查cookie是否仍然可用?
我想这
var user = '<?php echo $_COOKIE['id_user']; ?>';
function check()
{
if(user === null)
{
console.log('logged');
}
else
{
console.log('disconnected');
}
}
check();
setInterval(check, 1000);
但它并没有奏效。在访问此页面之前我已连接。即使从另一个页面断开,控制台始终显示“已连接”。我认为cookie仍然存在于页面中,并且没有过期。
如果我没有访问该页面之前连接,一个JS错误告诉我
SyntaxError: unterminated string literal
var user = '<br />
“未终止的字符串文字”是PHP首先发出错误消息的结果 - 检查页面源代码。除此之外,你不清楚你在问什么。 – CBroe
JavaScript可以直接访问浏览器中的cookies,不需要使用php(它只在页面加载前运行一次,因此也是这个问题)。另外,你还有其他2个SO问题,你没有回复任何评论或答案。这不是如何工作,如果你想要体面的答案,你需要与人打交道 – Steve
@CBroe这是因为PHP变量不存在 – Raccoon