后退按钮重新提交表单数据($ _POST)
我的问题是,当上一页由表单创建时,后退按钮会使浏览器说“页面已过期”。
例:
- 第1页:使用搜索条件提交的表单($ _POST请求,该表单指向第2页)
- page2:接收$ _POST请求并显示结果(带有链接的用户列表,指向page3)
- 第3页:显示用户个人资料
现在,当访客单击浏览器中的“后退”按钮时,它将显示类似“页面已过期”的信息。
而是应该在没有警告的情况下显示前一页(第2页,带有用户列表)
您如何解决这种行为?
回答:
如果您要提交包含搜索参数的for,那么您将尝试 一些数据,而不是修改某些数据。
因此,应使用HTTP GET方法,而不要使用POST:要创建/修改数据时应使用POST,而要获取某些数据时应使用GET。
或者,如果您必须执行一些创建/修改操作:
- 表单首先发布到第一页
- 该页面执行一些操作 (例如,向数据库中写入内容)
- 然后使用
Location
HTTP标头重定向到另一个页面。
- 这是最后一页,即浏览器使用GET请求查询的页面,其中显示了从URL中接收的参数获取的数据。
有关此信息,请参见Wikipedia上的“
发布/重定向/获取”页面。
以上是 后退按钮重新提交表单数据($ _POST) 的全部内容, 来源链接: utcz.com/qa/417120.html