取消设置时php会话变量问题

取消设置时php会话变量问题,php,session-variables,unset,Php,Session Variables,Unset,我制作了一个函数来设置会话变量$\u session['flash'],以便在页面之间存储消息 function setFlash($string,$type="info") { switch ($type) { case "warning": $_SESSION['flashtype'] = "warning"; break; case "error": $_SESSION['fl

我制作了一个函数来设置会话变量$\u 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']);

}
会话开始后,我会在每页的顶部自然调用此函数

问题是它没有打印任何内容,但是如果我对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直接放在我的页面中并开始工作..呸奇怪..我的错误是什么?

在每一页上都发生了这样的事情:

开会 显示闪光灯 删除闪存 创造有价值的“闪光” 在显示之前,必须移动并创建


它也不是很有用,因为你不传输'flash',它是在创建后立即删除的

你能显示你的页面流吗?嗯…我的类包含了一些文件=>session\u start=>printFlash…然后我调用了一个函数,编辑数据库中的记录,如果确定=>setFlashFlashMessage=>重定向到另一个带有相同的类inclusion=>session_start=>printFlash….问题是,unset语句似乎比echo语句print'flash'更早完成,但在开始时是空的| unset flash | set'flash |=>重定向到新页面| print flash | unset flash |因此它似乎是正确的,因为我们没有代码可以使用,可能的错误有:下一页尚未启动会话;-会话在下一页之前被销毁第二页在顶部启动会话,如果我从printFlash功能中删除unset,第二页将打印消息