【问题标题】:Prevent resubmission when using META REFRESH使用 META REFRESH 时防止重新提交
【发布时间】:2012-09-04 15:07:08
【问题描述】:

当用户提交表单并且一切正常时,他将收到一条 META REFRESH 为 3 秒的成功消息。然后页面刷新,但是当我点击刷新按钮或F5时,页面询问我是否要重新提交,这意味着META REFRESH实际上并没有重定向并清除所有内容。

在使用 META REFRESH 时,有没有办法防止数据重新提交?

我可以使用header('Location: somewhere.php');,但我无法使用它显示成功消息。

我正在使用带有 PHP 标头的 META REFRESH,例如 header("refresh:3;url=" . $home_action);

【问题讨论】:

    标签: php redirect refresh


    【解决方案1】:

    您应该使用header('location: somewhere.php?message=success') 并在页面somewhere.php 上检查message 获取变量是否存在,如果看到则输出成功消息。

    这是它通常完成的方式。另一种方法是设置一个$_SESSION 变量并在somewhere.php 上检查它。如果存在,请记住将其从会话中删除。

    【讨论】:

    • 我尝试了第一种方法,效果很好。我真的不敢相信我之前没有想到这一点 - 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-01-18
    • 2011-03-09
    • 2011-04-24
    • 2018-03-18
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2019-03-28
    相关资源
    最近更新 更多