返回到上一页的标题(“位置:”) ; 在 PHP 中

这个问题的题目解释了我的问题。如何使用 header( "Location: URL of previous page" );将 PHP 页面访问者重定向到他们的上一个页面

464297 次浏览

尝试:

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

请注意,这可能不适用于安全页面(HTTPS) ,而且这是一个非常糟糕的主意,因为头部可能被劫持,将用户发送到其他目的地。标头甚至可能不由浏览器发送。

理想情况下,你会想要:

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

你得想办法保住那个地方。

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

用这个很简单

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

我觉得挺好的

将以前的 URL 存储在会话变量中是不好的,因为用户可能右键单击多个页面,然后返回并保存。

除非您将会话变量中的前一个 URL 保存到表单中的隐藏字段,并在保存头部后(“位置: 保存调用页面的 URL”) ;

再补充一点: 我相信在头部函数后面添加 exit;是一种常见的、已知的做法,以防我们不想加载或执行其余的代码..。

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

用 Javascript 试试这个:

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

或者你可以在 PHP 中试试:

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

我知道这个问题特别关注标题,但是如果有人想在按钮内部执行,这就足够了。

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