所以我试图在重定向后回一些文本,我试图创建一个脚本,从数据库(EASY)改变名字和姓氏。我想告诉用户点击Save changes
按钮后,一条消息,上面写着:
您的名字已更新成功!
但是在重定向或页面刷新之后,我重定向用户的原因是,我想防止表单被重新提交。
下面是我的代码:// If the query was successfull
if ($name_change) {
$header = header( "refresh:1;url=settings.php" );
$this->messages[] = "Your name has been updated successfully!";
} else {
$this->errors[] = "There was a problem while settings your new name.";
}
不要发送到显示表单的同一页面。总是POST到接受请求的页面,然后重定向到正确的位置。对于一个松散的例子:
-
form.php生成HTML视图和表单。表单有
action="post.php" method="POST"
和post到post.php. - post.php接受$_POST数据并处理它。如果POST数据是错误的,那么 POST .php将头重定向回form.php,以便用户可以重新提交。如果POST数据是正确的,那么需要对数据执行任何操作,然后有一个头重定向到success.php。
- success.php输出您的名称已成功更新!消息。
这个方法中的任何刷新都不会允许表单被重新提交