我的问题是,当窗体创建上一页时,后退按钮会导致浏览器说“页面已过期”。
示例:
现在,当访问者点击浏览器中的后退按钮时,它将显示“页面已过期”等内容。
相反,应显示上一页没有警告(第2页,使用用户列表)
你的策略如何解决这种行为?
答案 0 :(得分:23)
如果您使用搜索参数提交for,则尝试获取某些数据,而不是修改某些数据。
因此,您应该使用HTTP GET方法,而不是POST:当您打算创建/修改数据时应该使用POST,并且当您打算获取某些数据时应该使用GET。
或者,如果您有一些必须完成的创建/修改操作:
Location
HTTP标头重定向到另一个页面。请参阅维基百科上的Post/Redirect/Get页面,了解相关信息。
答案 1 :(得分:14)
答案 2 :(得分:1)
在您发布的脚本中发送Location
标题,指向后面的页面。
答案 3 :(得分:1)
请勿使用POST进行搜索。使用GET可以安全地进行搜索,因为它不会改变任何内容。
答案 4 :(得分:1)
这适用于PHP和IE8。
您不仅必须将缓存设置为私有,而且必须删除4个缓存标头,这只能通过PHP 5.3完成。在PHP 5.2中,如果使用Zend Framework的setHeader()方法,则只能将4个头设置为空值。由于某些原因,在IE8上将4个标头值设置为空值是不够的。这是PHP 5.3的代码:
header_remove("Expires");
header_remove("Cache-Control");
header_remove("Pragma");
header_remove("Last-Modified");
答案 5 :(得分:0)
您可以使用会话来执行此操作。
例如
$ _ SESSION [' name'] = $ _POST [' name'];
记住在完成该过程后取消设置变量以优化内存使用。