我有一个简单的表单,可将文本提交到SQL表。问题在于,用户提交文本后,他们可以刷新页面,并且无需再次填写表单即可再次提交数据。提交文本后,我可以将用户重定向到另一个页面,但是我希望用户停留在同一页面上。
我记得读过一些有关为每个用户提供唯一的会话ID并将其与另一个值进行比较的信息,这些值解决了我遇到的问题,但我忘记了它在哪里。
使用发布/重定向/获取模式。
在我的网站上,我将在cookie或会话中存储一条消息,在帖子后重定向,读取cookie/会话,然后清除该会话或cookie变量的值。
我还想指出,您可以使用Javascript方法window.history.replaceState来防止刷新和后退按钮上的重新提交。
window.history.replaceState
<script> if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); } </script>
我仍然建议使用Post / Redirect / Get方法,但这是一个新颖的JS解决方案。