Php 如何获取表单提交的状态
我正在寻找一种“整洁”(干净)的方式来显示提交表单后的状态消息 例如,如果一个用户更新了他们的个人资料,我想显示一个DIV,文本为“Your profile Has Updated!” 现在,我正以这种方式完成这项工作: 在发布数据并插入或更新数据库表之后,我做了一个标题(“Location:updateprofile.php?status=updated”) 这台机器很好用,但是它不是很干净。我不想要查询字符串 我尝试的另一种方法是设置变量$submited=1;之后不要重定向。但是,当用户更新其信息时,在刷新之前,仍会在表单字段中显示旧信息。所以这也不起作用 我知道我可以使用AJAX来提交表单并以这种方式完成它,但是,对于我正在做的事情,我不想使用AJAX。我想要一个服务器端解决方案 我唯一的另一个想法是必须设置$\u会话变量,然后在显示状态更新后以某种方式删除它 任何想法都将不胜感激 谢谢Php 如何获取表单提交的状态,php,forms,notifications,submit,Php,Forms,Notifications,Submit,我正在寻找一种“整洁”(干净)的方式来显示提交表单后的状态消息 例如,如果一个用户更新了他们的个人资料,我想显示一个DIV,文本为“Your profile Has Updated!” 现在,我正以这种方式完成这项工作: 在发布数据并插入或更新数据库表之后,我做了一个标题(“Location:updateprofile.php?status=updated”) 这台机器很好用,但是它不是很干净。我不想要查询字符串 我尝试的另一种方法是设置变量$submited=1;之后不要重定向。但是,当用户更
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()。这将在继续之前设置会话变量。我从你那里得到这个答案