【发布时间】:2011-11-21 19:15:23
【问题描述】:
我已经创建了一个函数来设置会话变量 $_SESSION['flash'] 以便在页面之间存储消息
function setFlash($string,$type="info") {
switch ($type) {
case "warning":
$_SESSION['flashtype'] = "warning";
break;
case "error":
$_SESSION['flashtype'] = "error";
break;
case "info":
$_SESSION['flashtype'] = "info";
break;
default:
$_SESSION['flashtype'] = "info";
break;
}
$_SESSION['flash'] = $string;
}
以及打印此消息的函数
function printFlash() {
echo $_SESSION['flash'];
unset($_SESSION['flash']);
}
我在每个页面的顶部调用这个函数(当然是在 session_start 之后)
问题是它什么也不打印,但如果我评论“unset($_SESSION['flash']);”它在每一页打印消息。
我该如何解决?
解决了我的错。
my page is something like this
include "func.inc.php"
session start
function editSomething {
that call setFlash()
}
include "template.php" (where printFlash() is called)
现在我将 printFlash 直接放在我的页面中并且可以正常工作..bah 奇怪...我的错误是什么?
【问题讨论】:
-
你能展示你的页面流程吗?
-
好吧...我的课程包含一些文件 => session_start() => printFlash()....然后我调用了一个在数据库中编辑记录的函数和if ok => setFlash("Flash Message") => 重定向到包含相同类的另一个页面 => session_start() => printFlash ....问题是似乎 unset 语句在 echo 语句之前完成
标签: php session-variables unset