我有一个用户提交表单的页面,它转到一个单独的 PHP 脚本。脚本完成后,header() 将用户重定向回他们所在的页面。现在我想做的是,如果脚本中存在错误或某些情况,将用户重定向到同一页面,但一旦他们到达那里就显示 Javascript 警报作为警告消息。我可以将一些变量附加到 URL 并使用 $_GET 检查它,但我认为可能有更简单的方法......也许使用一些 POST 数据或类似的东西? 谢谢
最佳答案
您可以使用 session 在服务器端完成这一切:
“显示表单”php 脚本创建表单并将其返回给用户。
用户填写并提交给另一个 php 脚本“接收脚本”,该脚本接收表单数据,并注意到错误、丢失数据等。
“接收脚本”将错误消息存储在 session 中(作为项 err)并重定向到“显示表单”脚本。
“显示表单”脚本(与步骤 1 中的相同)实际上不仅仅是创建表单。它还:
- 在 session 中查看是否有项目“err”,即错误消息。在第 1 步中没有。但现在有了。所以 php 脚本创建了表单,以及一个向用户显示错误消息的 div。
- 将 session 的“err”项重置为 nil。
- php 脚本还可以在页面中包含 javascript,这将使错误消息在一段时间后消失或显示为弹出窗口等。
附言。上面的流程是rails处理表单和重新显示表单的过程。
更新:感谢@zod 指出我没有清除 session 中的错误项。
关于php - 在 PHP header() 重定向后给出 Javascript 警报的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878179/