我已经构建了一个表单,除了根据表单元素值构建一个“重定向”用户的URL之外什么都不做。
表单包含来自分类的值,该分类包含每个城市的国家/地区和城市。
因此,当用户选择国家/地区时,构建网址的表单会将用户发送到显示该国家/地区所有记录的相应页面。如果用户选择了城市字段,则表单构建将用户发送到显示该国家/地区记录的相应页面的URL。城市。
使用“post”作为方法的表格。
一切正常,直到这里!
问题是用户尝试刷新结果页面,或尝试使用后续页面中的后退按钮。
为了解决这个问题,我尝试在将表单提交到同一表单后重定向用户,但我担心无限重定向。出于这个原因,我想知道是否可以通过header()
函数更改修改请求方法。
这可以帮助我检查$_SERVER[REQUEST_METHOD]
是否设置为POST
,这样做,重定向。
答案 0 :(得分:4)
如果您read up on HTTP headers,您就会知道header("Location: ...")
设置的状态代码明确导致浏览器使用GET
请求而不是使用的任何方法。
实际上,如果要强制浏览器使用相同的方法重新发送请求,则必须手动设置状态代码308。
所以,不要担心:)