停止向数据库中插入数据两次
2022-08-30 16:57:13
我想知道当用户在与表单相同的页面上刷新时,其他程序员使用什么方法/预防措施来阻止数据在MySQL数据库中输入两次?显然,它发生了,我需要一个好方法来阻止这种情况。
我想知道当用户在与表单相同的页面上刷新时,其他程序员使用什么方法/预防措施来阻止数据在MySQL数据库中输入两次?显然,它发生了,我需要一个好方法来阻止这种情况。
我称之为Web编程的黄金法则:
永远不要用正文响应 POST 请求。始终执行工作,然后使用 Location: 标头进行响应以重定向到更新的页面,以便浏览器使用 GET 请求它。
这样,刷新不会对你造成任何伤害。
另外,关于评论中的讨论。例如,为了防止重复发布,例如,意外双击“提交”按钮,请将表单的 md5() 存储在文本文件中,并将新表单的 md5 与存储的表单进行比较。如果它们相等,则您有一个双重职位。
处理表单,然后重定向到结果页面。然后重新加载仅重新显示结果页面。