Php 让用户登录的最佳方式是过期吗?

Php 让用户登录的最佳方式是过期吗?,php,javascript,login,timeout,Php,Javascript,Login,Timeout,我正在探索一个潜在的内部内容交付系统,在这个系统中,我们必须跟踪学生完成任务的时间。只要学生与页面交互,就没有问题。如果学生出去吃午饭时页面还没打开,那么课程应该暂停,并且他们在超时后的在线时间将无法获得学分 我已经发现我可以很容易地捕捉到一些事件,比如离开一个页面,然后用PHP将这个事实记录到MySQL中的学生记录中,但是什么是让学生超时的最好方法呢?JavaScript?我环顾四周,还没有找到一个好的解释 谢谢你的帮助 ----------编辑-------------- 在Floris建议

我正在探索一个潜在的内部内容交付系统,在这个系统中,我们必须跟踪学生完成任务的时间。只要学生与页面交互,就没有问题。如果学生出去吃午饭时页面还没打开,那么课程应该暂停,并且他们在超时后的在线时间将无法获得学分

我已经发现我可以很容易地捕捉到一些事件,比如离开一个页面,然后用PHP将这个事实记录到MySQL中的学生记录中,但是什么是让学生超时的最好方法呢?JavaScript?我环顾四周,还没有找到一个好的解释

谢谢你的帮助

----------编辑--------------

在Floris建议查看关于空闲的特定帖子后,大多数人建议使用JQuery解决方案,但有一张海报提供了一个没有JQuery的简单解决方案。这个代码看起来会工作吗?我觉得很好:

var inactivityTime = function () {
    var t;
    window.onload = resetTimer;
    document.onmousemove = resetTimer;
    document.onkeypress = resetTimer;

    function logout() {
        alert("You are now logged out.")
        //location.href = 'logout.php'
    }

    function resetTimer() {
        clearTimeout(t);
        t = setTimeout(logout, 3000)
        // 1000 milisec = 1 sec
    }
};

使用JavaScript检测用户何时变为空闲状态。当用户空闲时,启动一个AJAX调用,该调用会清除任何cookie或会话数据。

如果让浏览器来完成这项工作,学生很容易伪造它。相反,每当用户执行某个操作(如转到其他页面)时,我都会将其转过来并记录。所花费的时间是一个动作和下一个动作之间的时间总和(增量时间),但如果增量时间大于15分钟,则不包括在内。

使用javascript构建一个计时器,该计时器可以每1mOh男孩、学生控件发送一次类似msg的keepalive消息。他们还没有被迫佩戴NFC标签,这样他们的活动就可以更容易地被追踪?开玩笑。。。无论如何,使用JavaScript对这群人的悟性没有多大帮助,你最好接受@Arnold的建议,在服务器端进行任何交互检查我认为OP的问题实际上是“当一个用户空闲时我如何检测”。这个问题的答案是肯定的。我会查看网页的。谢谢是 啊这才是我真正想要的。看起来像是我的JQuery。谢谢。这是一个非常简单的处理方法。