我可以通过PHP中的header()方法设置请求方法吗?

时间:2014-01-10 11:04:49

标签: php http

我已经构建了一个表单,除了根据表单元素值构建一个“重定向”用户的URL之外什么都不做。

表单包含来自分类的值,该分类包含每个城市的国家/地区和城市。

因此,当用户选择国家/地区时,构建网址的表单会将用户发送到显示该国家/地区所有记录的相应页面。如果用户选择了城市字段,则表单构建将用户发送到显示该国家/地区记录的相应页面的URL。城市。

使用“post”作为方法的表格。

一切正常,直到这里!

问题是用户尝试刷新结果页面,或尝试使用后续页面中的后退按钮。

为了解决这个问题,我尝试在将表单提交到同一表单后重定向用户,但我担心无限重定向。出于这个原因,我想知道是否可以通过header()函数更改修改请求方法。

这可以帮助我检查$_SERVER[REQUEST_METHOD]是否设置为POST,这样做,重定向。

1 个答案:

答案 0 :(得分:4)

如果您read up on HTTP headers,您就会知道header("Location: ...")设置的状态代码明确导致浏览器使用GET请求而不是使用的任何方法。

实际上,如果要强制浏览器使用相同的方法重新发送请求,则必须手动设置状态代码308。

所以,不要担心:)