设置浏览器后退按钮的上一页

时间:2012-04-05 13:57:41

标签: php redirect

用户在页面1.php上。在sumbit表单重定向到2.php之后。如果使用浏览器后退按钮,我想重定向到页面3.php

如下:

  • 1.php [提交表单] =>
  • 3.php [标题(位置:2.php)] =>
  • 2.PHP

2 个答案:

答案 0 :(得分:1)

你没有。这超出了网页的控制范围,这是一件好事。

如果一个网站可以通过这样的浏览器进行控制,我会感到不安,当我按下“返回”时,将我重定向到我没有去过的页面。我的第一直觉是进行病毒扫描或类似的事情,因为我认为有些事情是非常错误的。您的用户将如何反应?

编辑:您使用建议的解决方案编辑了问题:“如何: 1.php [submit form] => 3.php [header( location:2.php)] => 2.php“

如果使用HTTP标头执行此操作,某些浏览器可能会将其合并到历史记录中的单个页面中。如果你通过JavaScript重定向来实现它,它会起作用,因为那时浏览器不够聪明,无法合并它们。您还需要跟踪状态(是用户提交表单还是只是回来?)并且您需要确保Cache-Control标头设置正确(no-cache)以便浏览器不会请缓存3.php,因为我认为该页面看起来不一样,具体取决于您是从1.php提交表单还是从2.php返回。

但是,如果你在中间没有3.php并且在1.php上进行相同的状态跟踪和Cache-Control,那么你会得到相同的结果,所以也许你没有需要一个3.php。

答案 1 :(得分:1)

使用会话。在会话变量中访问您的最后一页,一旦用户按下后退按钮,您的代码应该读取该变量并重定向。

但不要依赖历史和东西。

您也可以尝试使用history.js(即使我自己仍在寻找解决方案)。