当前位置: 首页 > 面试题库 >

后退按钮重新提交表单数据($ _POST)

赖鸿羲
2023-03-14
问题内容

我的问题是,当上一页由表单创建时,后退按钮会使浏览器说“页面已过期”。

例:

  • 第1页:使用搜索条件提交的表单($ _POST请求,该表单指向第2页)
  • page2:接收$ _POST请求并显示结果(带有链接的用户列表,指向page3)
  • 第3页:显示用户个人资料

现在,当访客单击浏览器中的“后退”按钮时,它将显示类似“页面已过期”的信息。

而是应该在没有警告的情况下显示前一页(第2页,带有用户列表)

您如何解决这种行为?


问题答案:

如果您要提交包含搜索参数的for,那么您将尝试 获取 一些数据,而不是修改某些数据。

因此,应使用HTTP GET方法,而不要使用POST:要创建/修改数据时应使用POST,而要获取某些数据时应使用GET。

或者,如果您必须执行一些创建/修改操作:

  • 表单首先发布到第一页
    • 该页面执行一些操作 (例如,向数据库中写入内容)
    • 然后使用LocationHTTP标头重定向到另一个页面。
  • 这是最后一页,即浏览器使用GET请求查询的页面,其中显示了从URL中接收的参数获取的数据。

有关此信息,请参见Wikipedia上的“
发布/重定向/获取”页面。



 类似资料:
  • 问题内容: 我有2页: page1.php: -具有带文本框和“提交”按钮的表单。例如: -用于将文本框的值存储到数据库的php和mysql代码。将值提交到数据库后,JavaScript会将页面重定向到。例如: page2.php -mysql从数据库检索数据并显示在此页面上。 问题: 当我按“后退”按钮时,浏览器将弹出警告消息,提示您将重新提交表单。单击“返回”按钮时如何防止重新提交表单?我是否

  • 我想通过选择单选按钮,然后单击立即购买按钮,重定向到在线支付页面或钱包支付页面。当我点击buy now按钮时,表格也会提交。 这是一个订单页面,人们将填写表单,然后选择产品,然后选择付款类型。此页面将把数据带到数据库,然后将这些数据显示到下一页面,即钱包支付或在线支付。我是拉雷维尔的新手。如果有人能给出解决方案,那将非常有帮助。

  • 问题内容: [编辑]经过大量挖掘,我发现问题出在我如何将CKEditor集成到页面中。如公认的答案所述,在这种情况下,简单而明显的方法 确实 有效。 你好 在按下“提交”按钮之后,但在实际提交之前,我需要更改表单的值。 我尝试挂钩到表单的“ submit”事件,并在那里手动更改文本字段的值,但是看起来实际上并没有更改提交的值。 有任何想法吗? 问题答案: 我对您的说法感到奇怪,即处理程序对您不起作

  • 问题内容: 我有一个表格。在该表格之外,我有一个按钮。一个简单的按钮,如下所示: 但是,当我单击它时,它会提交表单。这是代码: 该按钮应该做的就是编写一些JavaScript。但是,即使看起来像上面的代码一样,它也会提交表单。当我将标签按钮更改为跨度时,它可以完美工作。但不幸的是,它必须是一个按钮。有什么办法可以阻止该按钮提交表单?像例如 问题答案: 我认为这是HTML最令人讨厌的小特性。该按钮必

  • 问题内容: 单击后,我编写了以下代码以禁用网站上的提交按钮: 不幸的是,它没有发送表格。我怎样才能解决这个问题? 编辑 我想绑定提交,而不是表格:) 问题答案: 做到: 发生的事情是您实际上在完全触发该提交事件之前禁用了该按钮。 您可能还应该考虑使用ID或CLASS来命名元素,因此不要在页面上选择所有提交类型的输入。 (请注意,我使用,因此该表单在示例中并未实际提交;请在使用时将其保留。)

  • 问题内容: 好吧,我试图通过按Enter提交表单,但不显示提交按钮。我不希望尽可能地使用JavaScript,因为我希望所有功能都可以在所有浏览器上正常工作(我知道的唯一JS方式就是使用事件)。 现在,表单如下所示: 哪个效果很好。当用户按下Enter键时,提交按钮将起作用,并且该按钮在Firefox,IE,Safari,Opera和Chrome中不显示。但是,我仍然不喜欢该解决方案,因为很难知道