【发布时间】:2013-01-03 22:22:10
【问题描述】:
我的 header.php 中有以下代码,它从 $_SESSION 获取消息并将其显示给用户,我在控制器中设置了“消息”会话变量。
<div id="messages">
<?php if (isset($_SESSION["message"])):?>
<span class="message"> <?php echo "message is ".$_SESSION["message"]?>
</span>
<?php endif ?>
</div>
这工作正常,消息显示。现在我想从会话中删除“消息”变量,以便仅在一个请求中调用它,所以我添加了行 unset($_SESSION["message"]);在结束之前,所以代码变为:
<div id="messages">
<?php if (isset($_SESSION["message"])):?>
<span class="message"> <?php echo "message is ".$_SESSION["message"]?>
</span>
<?php
unset($_SESSION["message"]);
else :
//for debugging
echo "There is no message";
endif
?>
</div>
现在总是没有打印消息,而是总是打印“没有消息”!消息变量设置正确,正如我在删除此unset($_SESSION["message"]); 行时所说,显示消息。
顺便说一句,我没有使用框架,只是简单的 php。 有什么帮助吗?
【问题讨论】:
-
你好像根本没有设置
$_SESSION['message']。 -
你不是在 if 里面使用 else,还是我读错了你的代码!!
-
您需要提供设置消息的代码部分!
-
我把它设置在另一个地方“一个控制器”,我上面说的第一个代码“”这工作正常“”这意味着它正在显示消息。
标签: php