Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从外部文件取消设置会话_Php - Fatal编程技术网

Php 从外部文件取消设置会话

Php 从外部文件取消设置会话,php,Php,问题是我有一个文件login.php,在那里我启动了一个会话 session_start(); $_SESSION['uname'] = $uname; 因此,根据这一点,我被重定向到一个文件main.php,其中包括header.php,其中我有一个带有href to external file的按钮: <a href="logout.php" action="includes/process.php" method="post" ><li>Logout</li

问题是我有一个文件login.php,在那里我启动了一个会话

session_start();
$_SESSION['uname'] = $uname;
因此,根据这一点,我被重定向到一个文件main.php,其中包括header.php,其中我有一个带有href to external file的按钮:

<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中的会话

或者,如果我在第3行的C:\xampp\htdocs\rootFolder\logout.php中使用session\u destroy:session\u destroy:尝试销毁未初始化的会话,则必须使用session\u destroy,而不是unset


您必须在所有文件的顶部启动会话。

在external file logout.php上,您没有启动会话启动

在External logout.php中使用以下代码:

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

可能是因为cookies的缘故,如果刷新,则会话中没有uname。我宁愿破坏洛古蒂工厂的会议。但主要的问题是,当我破坏会话时,我必须启动会话。我明白你的意思,非常感谢!
<?php
   session_start();
   unset($_SESSION['uname']);
?>