我在我正在构建的应用程序中使用PRG模式。有一个多页表单,我们在发布每个页面的表单时验证并保存数据库中的信息。如果提交通过验证,那么我们将用户重定向到表单的下一页。这可以按照您的预期运行,如果使用后点击后退按钮,则会转到上一页,没有重新提交警告等。
因为表单很复杂,为了使用户友好,当验证失败时,我们将用户的条目写入$ _SESSION并使用适当的消息将它们重定向到同一页面。这也有效。
问题在于,如果用户重复发布未通过验证的帖子,则后退按钮历史记录会加载相同的页面,因此他们需要多次单击后退按钮才能返回到预期的上一页。我正在寻找的是在重定向失败时执行类似javascript的window.location.replace的方法,这样用户就不必多次点击后退按钮返回上一页。
在PHP中是否可以使用标题,或者我需要使用javascript来完成此操作?
答案 0 :(得分:1)
一种选择是通过AJAX提交进行验证,如果验证正确,则实际提交页面。否则显示错误消息并保持在同一页面上。