仅在不活动时自动注销PHP

时间:2015-04-06 23:37:23

标签: php mysql

我已经进行了一些研究,我找到了一个功能代码来注销不活动,但我的问题是我仍然需要刷新我的浏览器以提示我的警报功能能够注销它。我想要一个代码功能,即使你不做任何事情也会自动退出。顺便说一句,这是我的代码。

<?php
    if (time() - $_SESSION['timestamp'] > 30) {
?>
<script type="text/javascript">    
    alert("You Have Been inactive for 30 seconds");
     window.location.href = "logout.php"; //To my logout function
</script>
<?php
    } else {
      $_SESSION['timestamp'] = time(); //set new timestamp
    }
?>

3 个答案:

答案 0 :(得分:1)

很容易。

如果您在每个页面中都包含一个文件,则可以通过添加刷新脚本来实现它,例如

header("Refresh: 1200; url = logoutsess.php");

这将在20分钟后重定向到文件logoutsess.php,从而终止会话

答案 1 :(得分:0)

如果没有刷新,这是不可能的,至少不是PHP。

答案 2 :(得分:0)

您是否考虑过使用AJAX而不是每30秒刷新一次浏览器。

xhr请求verify_session.php和verify_session.php将检查用户是否在过去30秒内完成了任何操作并打印1或0,然后如果检测到0,则您的JavaScript会将浏览器重定向到logout.php。