注销时销毁会话

时间:2015-03-02 11:15:41

标签: php session

我想销毁所有会话值。我在所有页面都有注销按钮。我想以两种方式调用这个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有一个代码重定向到主页如果页面中没有会话值。如果我登录它重定向到仪表板页面。
为了测试我复制仪表板链接并粘贴它。相反重定向到登录页面它显示仪表板页面。

1 个答案:

答案 0 :(得分:1)

尝试将exit;添加到最后,这将停止不再需要的页面呈现。并使用header('Location :');功能,找到一种方法来修复您获得here的错误。这个小片段一直对我有用。对调用此代码的每个页面执行require('logout.php')session_start();应该已在主文件中说明,因此不需要在此处说明。

if(isset($_GET["logout"])){
    $_SESSION = array();
    session_destroy();
    header("Location: /");
    exit;
}