我想销毁所有会话值。我在所有页面都有注销按钮。我想以两种方式调用这个logout.php。 1.点击页面中的退出按钮。 2.设置10分钟后刷新页面的时间。
在我的html的标题中,我有要刷新的元标记并调用logout.php页面。
<META HTTP-EQUIV="refresh" CONTENT="600;URL=logout.php?timeout">
logout.php
<?php
session_start();
// remove all session variables
session_unset();
$_SESSION = array();
// destroy the session
session_destroy();
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.location.href='login.php';
</SCRIPT>");
?>
我的问题是会话没有被破坏但重定向到login.php.I有一个代码重定向到主页如果页面中没有会话值。如果我登录它重定向到仪表板页面。
为了测试我复制仪表板链接并粘贴它。相反重定向到登录页面它显示仪表板页面。
答案 0 :(得分:1)
尝试将exit;
添加到最后,这将停止不再需要的页面呈现。并使用header('Location :');
功能,找到一种方法来修复您获得here的错误。这个小片段一直对我有用。对调用此代码的每个页面执行require('logout.php')
。 session_start();
应该已在主文件中说明,因此不需要在此处说明。
if(isset($_GET["logout"])){
$_SESSION = array();
session_destroy();
header("Location: /");
exit;
}