Php 如何获取表单提交的状态

Php 如何获取表单提交的状态,php,forms,notifications,submit,Php,Forms,Notifications,Submit,我正在寻找一种“整洁”(干净)的方式来显示提交表单后的状态消息 例如,如果一个用户更新了他们的个人资料,我想显示一个DIV,文本为“Your profile Has Updated!” 现在,我正以这种方式完成这项工作: 在发布数据并插入或更新数据库表之后,我做了一个标题(“Location:updateprofile.php?status=updated”) 这台机器很好用,但是它不是很干净。我不想要查询字符串 我尝试的另一种方法是设置变量$submited=1;之后不要重定向。但是,当用户更

我正在寻找一种“整洁”(干净)的方式来显示提交表单后的状态消息

例如,如果一个用户更新了他们的个人资料,我想显示一个DIV,文本为“Your profile Has Updated!”

现在,我正以这种方式完成这项工作:

在发布数据并插入或更新数据库表之后,我做了一个标题(“Location:updateprofile.php?status=updated”)

这台机器很好用,但是它不是很干净。我不想要查询字符串

我尝试的另一种方法是设置变量$submited=1;之后不要重定向。但是,当用户更新其信息时,在刷新之前,仍会在表单字段中显示旧信息。所以这也不起作用

我知道我可以使用AJAX来提交表单并以这种方式完成它,但是,对于我正在做的事情,我不想使用AJAX。我想要一个服务器端解决方案

我唯一的另一个想法是必须设置$\u会话变量,然后在显示状态更新后以某种方式删除它

任何想法都将不胜感激

谢谢


Tony

大多数情况下,这是通过存储需要显示的任何flash消息的会话变量来处理的

在共享视图(布局、元素)中

<?php
    if (isset($_SESSION['flashMessage']) && !empty($_SESSION['flashMessage'])) {
        echo <<<EOF
        <div class="flashMessage">
            {$_SESSION['flashMessage']}
        </div>
EOF;
        unset($_SESSION['flashMessage']);
    }
?>


$\u会话['flashMessage']
设置为“您的配置文件已更新”。在处理表单提交的任何代码中。

将状态存储在会话数组变量中,然后只需执行以下操作:

<?php 

if ( !empty( $_SESSION['statuses'] ) ) {

  foreach ( $_SESSION['statuses'] as $status ) {

    // Wrap in tags and format as needed
    echo $status;  

  }

  $_SESSION['statuses'] = Array();

}

您可以添加类似
$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\!我知道一定有一些事情可以通过会话来完成,我通过添加第二个$\u会话变量来更改代码,该变量表示消息类型(成功、错误、警告、信息等)。谢谢你的帮助!为可能使用此功能的其他人提供快速提示。我所有的页面都没用。我将设置会话变量,然后使用Location执行header()重定向:一旦页面加载,会话变量将为空。解决方案是在header()重定向之后添加die()或exit()。这将在继续之前设置会话变量。我从你那里得到这个答案