当注册表单使用POST方法提交时,当您刷新同一页面时,它将提示重新提交或重新发送信息。我们如何防止这种情况?
答案 0 :(得分:8)
使用post-redirect-get。简而言之:
答案 1 :(得分:0)
您可以使用ajax。你保留了放在另一个文件中的相同php代码,并通过ajax发布数据。
答案 2 :(得分:0)
您可以在表单中使用包含一次性随机令牌。第一次提交令牌(使用其他数据)时,将执行操作。相同令牌的未来提交无效(或仅显示相同的确认页面),并且拒绝提交包含空白或无效令牌的提交。
这也可以防范cross-site request forgery。
答案 3 :(得分:0)
试试这个:
<?php
if (!empty($_POST)){
?>
<script type="text/javascript">
window.location = window.location.href;
</script>
<?php } ?>
我将它放入prevent_resend.php中,然后在postdata处理完成后将其包含在内。
// ... save data from $_POST to DB
include('prevent_resend.php');
// ... do some other stuff