我如何才能完全销毁会话.如果会话不可用,重定向到登录页面


How can i completly destroy session. if session not availbale redirect to login page

你好,当我按下注销按钮时,我正在尝试注销会话,然后它正在注销并重定向到登录页面;但when click back in browser that page is loading with loign menu on top.

我在每个页面上都写了一个代码,好像会话不可用一样,重定向到登录页面。

这是我的session_delete:注销代码

elseif(isset($_GET['type']) && $_GET['type']== "logout" )
{
    if (!isset($_SESSION['id'])) {
        header('location:index.php');
        } else {
        session_destroy();
        $_SESSION = array(); 
        header('location:index.php');
    }
}

这是我在所有页面中提到的代码:

session_start();
include_once('includes/config.php');
if(!isset($_SESSION['id'])) {
    header('location:login.php');
}

所以我的问题是完全注销,如果按下返回,它不应该加载,必须重定向到登录页面。

<?php
session_start();
if($_SESSION['id']){
unset($_SESSION['id']); // destroys the specified session.
}
header('Location:index.php'); //redirect to preferred page after unset the session
?>
session_destroy() 

通过此功能,您可以在浏览器中销毁所有会话。如果你使用php,你应该写:

    ob_start (); 
session_start();

通过此操作,您的缓冲区也会刷新并重新启动会话。试试看。

创建一个类似signout.php的页面,并设置该页面的signout按钮链接。

示例

<a href="signout.php">Signout</a>

signout.php页面添加以下代码。

session_start();   #Start new or resume existing session
#session_unset($_SESSION['key']); #Free specific session variable if you want, OR
session_destroy(); #Destroys all data registered to a session
header('location:login.php'); #Redirect to login page after logout

这应该对你有用!

尝试以下方式:

session_start();
unset($_SESSION["id"]);
session_destroy();
header('location:index');