使用PHP会话向用户发送消息

时间:2016-01-27 15:34:52

标签: php session message

我有一个会话类如下:

<?php

class Session {

    function __construct() {
        if (empty(session_id())) {
            session_start();
        }
    }

    function AddMessage($msg="") {
        if (!is_array($_SESSION['messages'])) {
            $_SESSION['messages'] = [];
        }
        array_push($_SESSION['messages'], $msg);
    }

    function GetMessages() {
        $messages = $_SESSION['messages'];
        unset($_SESSION['messages']);
        return $messages;
    }

}

?>

我的布局目录中还有一个php文件:

<?php if (!empty($_SESSION['messages'])) { ?>
<div class="messages">
<ul>
<?php
    $messages = $session->GetMessages();
    foreach ($messages as $message) {
        echo "<li class=\"message\">{$message}</li>";
    }
?>
</ul>
</div>
<?php }?>

上面这段代码包含在我的页面顶部。 问题是,如果单页提交处理 - 在页面中间完成 - 在我使用AddMessage()方法设置之前打印出消息。

是否有一种解决此问题的简单方法,或者我必须重新考虑我的代码流?

0 个答案:

没有答案