2

我试图研究这个问题,但没有找到如何处理这个问题的运气。谁能指出我正确的方向?

考虑我要使用三个脚本:homepage.php、list.php、form.php。

从概念上讲,用户将在主页上表明他们想要查看列表。然后,用户可以单击列表的元素,以调出允许他们更改列表项属性的表单。用户提交表单并返回到列表,以便他们可以继续查看列表并在需要时对列表项进行更改。

现在问题来了,当用户回击这一点时,我希望他们返回主页,因为他们当前正在查看列表,并且在网络应用程序的上下文中,此时返回应该返回用户到主页。相反,如果他们回击,他们会返回表单(使用 PRG,因此双张贴没有问题),然后返回列表,然后返回主页。

目前会发生什么:

  • openbrowser -> 获取 homepage.php
  • homepage.php -> 获取列表.php
  • list.php -> 获取 form.php
  • form.php -> PRG(POST 到 form.php,重定向回 l​​ist.php)
  • list.php -> 用户回击,GET form.php
  • form.php -> 用户回击,GET list.php
  • list.php -> 用户回击,获取 homepage.php

我想要发生的事情,但不知道如何:

  • openbrowser -> 获取 homepage.php
  • homepage.php -> 获取列表.php
  • list.php -> 获取 form.php
  • form.php -> PRG(POST 到 form.php,重定向回 l​​ist.php)
  • list.php -> 用户回击,获取 homepage.php
4

1 回答 1

0
header("Expires: Sun, 19 Nov 1978 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", FALSE);

您可以在不希望浏览器缓存的页面中使用此标头,以便您可以控制用户何时点击后退按钮。

在您的情况下,您可以在 form.php 上有此标头,您可以使用会话或 HTTP 引荐来源网址或任何东西来跟踪页面来自何处并相应地重定向

于 2012-11-06T15:39:27.653 回答