当管理员用户的帐户超时时,我如何提醒他们



我计划的网站是一家高中报纸。最近,管理页面出现了一个趋势问题。当用户创建文章时,由于设置的时间限制,他们已经注销。我想在警报中编程,告诉用户他们已经注销,这样他们就可以复制他们的文章并将其粘贴回原位。这是我们的超时代码:

    // Kill Session if session end exists.
    if ($_GET['endsession']) {
        unset($_SESSION['name']);
        unset($_SESSION['access']);
        unset($_COOKIE['username']);
        setcookie("username","",time() - 3600);
        session_destroy();
        header("Location: http://" . $_SERVER['HTTP_HOST'] . "/admin.php");
    }

我曾尝试在[session_destroy();]下和[setcookie("username",",time()-3600);]上放置一个javascript警报,但没有任何结果。我还试着把它放在[session_destroy();]上面,但这使得页面甚至没有计时。

当函数[session_destroy();]运行时,如何获得一个简单的Javascript警报?

在取消设置会话之前,检查一下是否还有五分钟?

if($_GET['endsession'] < time() + 5*60) {
    //alert the user
}
if($_GET['endsession']) {
    //your code to unset the session
}

假设$_GET['endsession']包含时间戳。如果不是这样的话,你也可以改变它或其他什么,但我认为总体思路是明确的。

也许在你的身体标签中:

<body onload="window.setTimeout(function() {window.alert('You have been logged out');},600000);">

这将在10分钟(600秒/600000毫秒)时在浏览器中发出警报,称"您已注销"。

你也可以在身体里做同样的效果:

<script>window.setTimeout(function() {window.alert('You have been logged out');},600000);</script>

http://www.w3schools.com/jsref/met_win_settimeout.asp

相关内容

最新更新