查看成功或错误消息的最佳方式是什么?

What is the best way to view a successful or a bad message?

长期以来,我一直在思考显示成功或错误消息的最佳方式。我需要刷新页面,然后查看消息。如果我使用 $_GET(例如:/My-Page?status=success),问题是任何人都可以编辑 status。这不是一个大问题,但我不知道这是不是最好的主意...

如果我使用SESSION:

$_SESSION['message'] = "Mail was sent successfully!";
header('Location: '.$_SERVER['REQUEST_URI']);
exit();

//and then:
if (!empty($_SESSION['message'])) {
    echo $_SESSION['message'];
}

我可能会做我想做的事,但如果有人离开然后回到页面(或只是刷新页面),他仍然会看到一条消息(这不是我想要的)。 .

所以,总而言之,我的问题是:将消息保存到变量以仅出现一次(刷新后,消息将消失)并且没有人可以编辑它的最佳方法是什么?对不起我的英语,我希望我写清楚了:-)

最简单的选择是稍微修改基于会话的代码以在显示后清除会话数据

if (!empty($_SESSION['message'])) {
    echo $_SESSION['message'];
    unset($_SESSION['message']); //will not display again
}