【问题标题】:prevent the back button after submitting form提交表单后阻止返回按钮
【发布时间】:2011-10-15 20:04:38
【问题描述】:

我正在处理联系表格。没有任何东西存储在数据库中,只是发送一封电子邮件。我想知道在我重定向到感谢页面后是否有办法阻止后退按钮。目前,如果我按下后退按钮,我会看到输入到表单中的所有信息。

$send_mail = mail($emailTo, $subject, $body, $headers);
if ($send_mail) {
    header("Location: ../thankyou");
    exit();
}

【问题讨论】:

  • 不,您不能从他人计算机上的软件中删除基本功能。
  • 您想阻止后退按钮功能还是只是避免在按下后退按钮时显示表单信息?您可以使用标头修改缓存选项,但我认为现代浏览器仍然会执行其特定的缓存(特别是 Safari 有一些奇怪的行为)

标签: php xhtml


【解决方案1】:

您可以将用户当前位置保存到会话数据中,并从那里检查用户在按下提交时是否在表单页面之外的其他位置,如果是,则重定向到其他位置而不是继续提交。

【讨论】:

    【解决方案2】:

    答案不多,但我将把它留在这里作为一个想法 - 也许是某种“您确定要提交此表单吗?”查看? 如果他们单击是,那么很好,发送它(也适用于第一轮的基本验证检查)。如果他们说不取消并留在页面上。

    【讨论】:

      【解决方案3】:

      您可以为表单名称添加前缀,例如 <input name='<?= time(); ?>__secrets' type='text' /> 所以使用相同的浏览器不会使以前输入的数据可见。

      使用 javascript 你可以做一些 playng,比如 ajax 提交表单然后清除它或在感谢页面中更改后退按钮功能,请参阅http://www.serpere.info/jquery-history-plugin/samples/ajax/

      【讨论】:

        猜你喜欢
        • 2019-12-09
        • 1970-01-01
        • 1970-01-01
        • 2018-02-21
        • 2011-12-06
        • 2016-03-23
        • 2017-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多