php页面5分钟操作,就提示重新登录

初学php,想问一下,通过session判断用户5分钟没有操作之后,在点击页面的任何按钮或者别的东西,就提示需要重新登录,怎么做呢。我百度到的想法是,登录的时候记录一个时间,然后在页面操作的时候再记录一下时间,再用这两个时间去比对,如果超过了就提示。但是应该怎么获取页面最后操作的时间呢。我的部分代码
在登录成功后页面记录一个登录的时间保存在session里面
<?php

session_start();
$_SESSION['login_time']=mktime();
?>
登录成功之后到另外的页面:
判断:
<?php
session_start();
$online_time=mktime();
if($online_time-$_SESSION['login_time']>10){
echo '<script>alert("操作超时,请重新登录再操作")</script>';
}
else{
$_SESSION['login_time']=mktime();
echo '<script>alert("'.$_SESSION['login_time'].'");</script>';
}
?>
这样写,只有我按F5刷新之后,才会生效,我现在想要实现的就是,点击页面的各种按钮,或者点击text文本框,也就是如果超时了,那么所有的操作都要提示需要重现登陆才能操作。哪位大神帮下。非常感谢

// 你可以在客户端也加一个全局事件 只要有点击 不管是哪里都触发
// 然后在判断上一次触发时间和本次触发时间的间隔是否超过5分钟就可以了
// 如下
document.addEventListener('click',function(){

    var now = new Date().getTime();

window.$lastOpTime = window.$lastOpTime || now;

if(now-window.$lastOpTime > 5*60*1000){

alert('超时');
// do client
// do server
}

window.$lastOpTime = now;

console.log(now);
});

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-30
加一个公共的js方法判断session是否超时
比如你的input 框 加个onfocus事件 调用加的JS追问

那如果是点击的a标记呢?这样不就是还得写一个?如果有无数个A标记,很多个button,那不累死啦

追答

鼠标点击和键盘事件

第2个回答  2016-03-25
加一个公共的js方法判断session是否超时
比如你的input 框 加个onfocus事件 调用加的JS
第3个回答  2015-04-30
你要实现这种效果写AJAX吧!追问

AJAX是可以啊,但是怎么捕捉页面的动作啊,总不能点击连接写一次,点击按钮也写一次,这样太笼统了把

追答

没必要那么麻烦,你如果真要实现这样的效果,你就扑捉鼠标左键的事件,如果鼠标左键点击了一下就判断一次

追问

嗯,貌似是一个思路,但是怎么觉得不够严谨呢,先4一下先,或者还有什么别的方式呢?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网