0

我想在重定向后在新页面上回显一条消息。但我只希望消息在重新加载(重定向)后显示一次,并且在下一次重新加载时我希望消息消失。这是可能吗?我给你举个例子:

$_SESSION['message'] = "entry deleted"
   header("location: anotherpage.html") 

在“anotherpage.php”上

echo "$_SESSION['message']" // upon next reload $_SESSION['message'] = "";
4

3 回答 3

1

您可以检查消息是否已设置且有效

if (isset($_SESSION['message']) && $_SESSION['message']) {
    echo $_SESSION['message'];
    $_SESSION['message'] = false;
}
于 2013-02-12T23:51:53.813 回答
1

它应该按照您的建议工作。(如果我没听错的话)。

简单地:

重定向页面

$_SESSION['message'] = 'test';
header('Location: anotherpage.php');

在“anotherpage.php”上

echo $_SESSION['message'];
$_SESSION['message'] = ''; // message will being empty on further reloads
于 2013-02-12T23:51:59.400 回答
1
echo $_SESSION['message'];
unset($_SESSION['message']);

但我更喜欢添加一个功能来显示消息,例如:

function setMessage($msg_body, $css_style = 'normalMsg') {

    $_SESSION['messages'][$css_style][] = $msg_body;

}


function showMessages() {

    if (empty($_SESSION['messages'])) return;

    foreach ($_SESSION['messages'] as $css_style=>$messages) {
        echo '<div class="'.$css_style.'">';
        echo implode($messages,'<br>');
        echo '</div>';
    }
    unset($_SESSION['messages']);

}
于 2013-02-13T00:07:41.683 回答