Javascript 仅在登录页面上显示一次注销通知
在受密码保护的网站(ajax php jquery登录系统)上,fadeIn/fadeOut警报确认用户刚刚注销。用户被发送回登录页面,我做了一个Javascript 仅在登录页面上显示一次注销通知,javascript,Javascript,在受密码保护的网站(ajax php jquery登录系统)上,fadeIn/fadeOut警报确认用户刚刚注销。用户被发送回登录页面,我做了一个文档。referer来检查他是否来自该站点的某个页面(如果是,则表示他刚刚注销,以便我可以显示消息)。当然,如果用户刷新页面,他会再次收到通知 我正在考虑更改文档。referer,但该属性是只读的。你知道如果用户确实注销了,我怎么能只显示一次消息吗?你可以用PHP做一个有条件的操作: if(isset($_SESSION['justLoggedOut'
文档。referer
来检查他是否来自该站点的某个页面(如果是,则表示他刚刚注销,以便我可以显示消息)。当然,如果用户刷新页面,他会再次收到通知
我正在考虑更改
文档。referer
,但该属性是只读的。你知道如果用户确实注销了,我怎么能只显示一次消息吗?你可以用PHP做一个有条件的操作:
if(isset($_SESSION['justLoggedOut'])){
print '<script type="text/javascript"> ..notification code.. </script>';
unset($_SESSION['justLoggedOut']);
}
if(isset($\u会话['justLoggedOut'])){
打印“…通知代码…”;
取消设置($_会话['justLoggedOut']);
}
您只需在经过身份验证的区域(或重定向到索引页的注销页[我假设])内设置会话即可。使用cookie将是最简单的路径。只需在他们注销时添加cookie,然后在显示通知后将其删除。此cookie可以包含您想要的有关注销的所有信息:例如,注销的时间和他们发起注销的URL
当然,这是假设您的客户允许在您的站点上使用cookie。服务器端的替代方案是使用会话数据。然后,您的通知将向服务器发送一个AJAX回调,以清除应显示通知的指示器。您所谈论的模式通常称为“flash通知”,用谷歌搜索一下,你应该会发现一些如何实现它的想法。通常,这种格式会被扩展到迭代一系列消息,在显示时会使项目不稳定。我尝试过这种方法,并在用户注销时成功创建了一个会话,如下所示:
session\u name('justLoggedOut');会话_start()代码>然后我使用了上面的代码,但是javascript没有打印,会话仍然存在。我做错了什么?试试这个:$\u SESSION['justLoggedOut']=true代码>它也不起作用。我不明白,我可以在Firebug中看到会话,但条件不起作用。。。我自己会找到答案的,我可能在别的地方做错了什么?有趣的是,我也尝试了cookie解决方案,同样的事情也发生了:cookie被成功创建,但if语句从未被验证过!无论如何谢谢你的努力。