我知道这是一个业余的问题,但我需要回显一个会话变量然后销毁变量.
我试过这个:
if(isset($_SESSION['m'])){
echo($_SESSION['m']);
unset($_SESSION['m']);
}
Run Code Online (Sandbox Code Playgroud)
我也试过session_destroy();
并且我试图在页面末尾取消/销毁会话(在关闭HTML标记之后)
我遇到的问题是会话在被回应之前被破坏了.我之前使用上面的代码没有任何问题.无论如何要做我需要做的事情,还是我必须找到不同的解决方案?
提前致谢 :)
Ben*_*Ben 12
我知道它有点晚了但最近我遇到了这个问题,我会为需要它的人回答它.
我很确定你使用该header方法进行重定向到同一页面unset的会话.这些方面的东西:
<?php
if(condition)
$_SESSION = "foo";
header("Location: $self");
?>
<html>
...
<?php echo $_SESSION["foo"]; unset($_SESSION["foo"]); ?>
...
Run Code Online (Sandbox Code Playgroud)
问题header是它不会停止脚本的执行(看起来如此),因此脚本继续执行并取消设置会话.
解决方案是exit(0)在标题重定向后添加(或您可能需要的任何标志),如下所示:
<?php
if(condition)
$_SESSION = "foo";
header("Location: $self");
exit(0);
?>
Run Code Online (Sandbox Code Playgroud)
这确实是一个非常模糊的问题,也是一个耗时的问题.