返回上一页的标题(“Location:”);用PHP

时间:2011-03-12 19:50:45

标签: php redirect back

这个问题的标题解释了我的问题。如何使用header( "Location: URL of previous page" );

将PHP页面访问者重定向回上一页

7 个答案:

答案 0 :(得分:222)

尝试:

header('Location: ' . $_SERVER['HTTP_REFERER']);

请注意,这可能无法与安全页面(HTTPS)一起使用,并且总体上非常糟糕,因为标头可能被劫持,将用户发送到其他目的地。标题甚至可能不会被浏览器发送。

理想情况下,您需要:

  • 将返回地址作为查询变量附加到请求中(例如?back = / list)
  • 在代码中定义一个返回页面(即所有成功的表单提交重定向到列表页面)
  • 为用户提供下一步的选项(例如,保存并继续编辑或只保存)

答案 1 :(得分:21)

这么简单只需使用这个

header("location:javascript://history.go(-1)");

它对我来说很好

答案 2 :(得分:13)

你必须以某种方式保存该位置。

说它是一个POST表单,只需将当前位置放在隐藏字段中,然后在header()位置使用它。

答案 3 :(得分:9)

只需添加一点: 我认为增加退出是一个常见且已知的事情;在标题函数之后我们不希望其余的代码加载或执行...

header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;

答案 4 :(得分:2)

只需在Javascript中尝试:

 $previous = "javascript:history.go(-1)";

或者您可以在PHP中尝试:

if(isset($_SERVER['HTTP_REFERER'])) {
    $previous = $_SERVER['HTTP_REFERER'];
}

答案 5 :(得分:1)

在会话变量中存储前一个网址很糟糕,因为用户可能会右键单击多个网页然后返回并保存。

除非您将会话变量中的前一个网址保存到表单中的隐藏字段和保存标题之后(“位置:保存调用页面的网址”);

答案 6 :(得分:0)

我知道这个问题专门针对标题,但如果有人想在按钮内进行,这就足够了。

<button type="button" class="btn btn-default" onclick="javascript:history.go(-1)">Back</button>