我编制的网站是一份高中报纸。最近,管理页面一直存在趋势问题。当用户创建文章时,由于设定的时间限制,他们已被注销。我想在警报中编程告诉用户他们已经注销,以便他们可以复制他们的文章并将其粘贴回原位。这是我们的超时代码:
// 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();下面放置一个javascript警报; ]以及[setcookie(“username”,“”,time() - 3600); ],但这没有发生任何事情。我也尝试将它放在[session_destroy(); ],但这使得该页面甚至没有时间任何人。
如何在函数[session_destroy();时运行简单的Javascript警报运行?
答案 0 :(得分:1)
也许在你的身体标签上:
<body onload="window.setTimeout(function() {window.alert('You have been logged out');},600000);">
这将在浏览器中以10分钟(600秒/ 600,000毫秒)发出警告,说“您已经注销”。
你也可以在体内做同样的效果:
<script>window.setTimeout(function() {window.alert('You have been logged out');},600000);</script>
答案 1 :(得分:1)
你如何检查 - 在取消会议之前 - 如果有,比方说,还剩5分钟?
if($_GET['endsession'] < time() + 5*60) {
//alert the user
}
if($_GET['endsession']) {
//your code to unset the session
}
假设$_GET['endsession']
包含时间戳。如果情况并非如此,你可以改变它或者不论什么,但我认为一般的想法是明确的。