无法在PHP中注销会话

时间:2017-02-04 16:37:41

标签: php

我在登录bootstrap主题中尝试了登录和注销功能,它运行正常。但是当我使用我之前使用的相同代码时,我无法在我的其他tenplate中注销会话。我尝试了互联网上发现的所有解决方案。当我点击退出链接时,我得到一个空白页面。

的login.php

 <?php
 session_start();
  if (!isset($_SESSION['login_user']) || empty($_SESSION['login_user'])) {
 header('location:login.php');
 }
?> 

check_login.php

<?php
 session_start();
 session_destroy();
 header("Location:login.php");
 die();
 ?> 

logout.php

<?php
include('check_login.php');
?>

的index.php

\W

当我不使用模板(从某个网站下载)或使用bootsrap登录模板时,它完美地工作。

2 个答案:

答案 0 :(得分:0)

您真的应该向我们提供一些源代码,指向您尝试的内容的链接,您之前尝试的内容,您收到的错误等等。从我可以收集到的内容中,您可以重新寻找使用会话的注销页面?这就是我所拥有的。

require_once('../src/ods.php');
require_once('../src/odsDraw.php');
require_once('../src/odsFontFace.php');
require_once('../src/odsStyle.php');
require_once('../src/odsTable.php');
require_once('../src/odsTableCell.php');
require_once('../src/odsTableColumn.php');
require_once('../src/odsTableRow.php');

答案 1 :(得分:0)

关键部分是将$ _SESSION设置为空数组。

来自http://php.net/manual/en/function.session-destroy.php

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>