如何在页面刷新时(F5 / CTRL+R)防止表单重新提交
P粉151466081
P粉151466081 2023-08-29 11:37:35
0
2
449
<p>我有一个简单的表单,可以将文本提交到我的 SQL 表。问题是,用户提交文本后,他们可以刷新页面并再次提交数据,而无需再次填写表单。我可以在提交文本后将用户重定向到另一个页面,但我希望用户留在同一页面上。</p> <p>我记得读过一些关于为每个用户提供唯一会话 ID 并将其与另一个值进行比较的内容,这解决了我遇到的问题,但我忘记了它在哪里。</p>
P粉151466081
P粉151466081

全部回复(2)
P粉817354783

我还想指出,您可以使用 JavaScript 方法 window.history.replaceState 来防止刷新和后退按钮时重新提交。

sssccc

概念证明:https://dtbaker.net/files/ Prevent-post-resubmit.php(链接不再有效)

我仍然推荐 Post/Redirect/Get 方法,但这是一种新颖的 JS 解决方案。

P粉043432210

使用发布/重定向/获取模式。 http://en.wikipedia.org/wiki/Post/Redirect/Get

在我的网站上,我将在 cookie 或会话中存储消息,在发布后重定向,读取 cookie/会话,然后清除该会话或 cookie 变量的值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!