基本上,一般的想法是在表单提交后将用户重定向到其他页面,这将在页面刷新时停止表单重新提交,但是如果在表单提交后需要将用户保持在同一页面中,可以通过多种方式来实现。
Unset Form Data
在页面刷新时停止页面重新提交的一种方法是,在提交表单数据后将其取消设置,以便存储表单数据的变量变为空,并包装表单处理代码块以检查表单是否为空。
if(!empty($_POST) && $_SERVER[\'REQUEST_METHOD\'] == \'POST\'){
$data = // processing codes here
unset $data;
}
这将使$数据在处理后为空,并且第一个子句将在页面刷新时停止表单重新提交。
Javascript
此方法非常简单,在提交表单后,会阻止在刷新时要求重新提交表单的弹出窗口。只需将这行javascript代码放在文件的页脚,就可以看到它的神奇之处。
<script>
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
</script>
More on such queries you can visit this link.