从外部文件取消会话

时间:2014-02-26 18:07:22

标签: php

问题是我有文件“login.php”,我开始一个会话

session_start();
$_SESSION['uname'] = $uname;

所以根据这个,我被重定向到一个文件“main.php”,其中包含“header.php”,其中我有一个带有“href”到外部文件的按钮:

<a href="logout.php" action="includes/process.php" method="post" ><li>Logout</li></a>

此外部文件包括:

<?php
unset($_SESSION['uname']);
?>

但真正的问题是,当我按下此按钮并转到“logout.php”并执行代码时,为什么我可以回到上一个主页?我忘了告诉它有一个错误:未定义的变量:第3行的C:\ xampp \ htdocs \ rootFolder \ logout.php中的_SESSION

或者如果我使用session_destroy:session_destroy():尝试在第3行的C:\ xampp \ htdocs \ rootFolder \ logout.php中销毁未初始化的会话

2 个答案:

答案 0 :(得分:0)

您必须使用session_destroy()代替unset()

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

您必须在所有文件的顶部start_session()

答案 1 :(得分:0)

在外部文件“logout.php”上你没有开始会话“ session_start()”。

在外部“logout.php”中使用此代码:

<?php
   session_start();
   unset($_SESSION['uname']);
?>