我有一个简单的表单,可以将文本提交到我的 SQL 表。问题是,用户提交文本后,他们可以刷新页面并再次提交数据,而无需再次填写表单。我可以在提交文本后将用户重定向到另一个页面,但我希望用户留在同一页面上。
我记得读过一些关于为每个用户提供唯一会话 ID 并将其与另一个值进行比较的内容,这解决了我遇到的问题,但我忘记了它在哪里。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我还想指出,您可以使用 JavaScript 方法
window.history.replaceState来防止刷新和后退按钮时重新提交。概念证明:https://dtbaker.net/files/ Prevent-post-resubmit.php(链接不再有效)我仍然推荐 Post/Redirect/Get 方法,但这是一种新颖的 JS 解决方案。
使用发布/重定向/获取模式。 http://en.wikipedia.org/wiki/Post/Redirect/Get
在我的网站上,我将在 cookie 或会话中存储消息,在发布后重定向,读取 cookie/会话,然后清除该会话或 cookie 变量的值。