刷新页面时双重发送表单

时间:2010-02-27 15:48:44

标签: php html forms

当我点击浏览器刷新时,如何避免再次提交表单?谢谢。

2 个答案:

答案 0 :(得分:6)

查看Post/Redirect/Get pattern和以下文章:

http://www.theserverside.com/tt/articles/article.tss?l=RedirectAfterPost

从以上链接:

  

PRG模式可以改写为   这样:

     
      
  • 永不显示响应POST的页面
  •   
  • 始终使用GET
  • 加载页面   
  • 使用REDIRECT
  • 从POST导航到GET   

答案 1 :(得分:0)

当用户首次访问表单时,请为其创建一个GUID(或您可以唯一标识特定用户请求的其他标记),并在表单上的整个过程中发送该表单。当您提交数据库时,也将其添加到其中的字段中。事先快速检查,看看它是否已经存在并且您已经排序。 :)

编辑:这些方式并不特定于用户“点击浏览器上的[s]刷新”,更多的是作为阻止意外重复条目的方式。至于其他有用的线程,this question asks and gets a few good replies