回到带有标题的前一页(“Location:”); 在PHP中

这个问题的标题解释了我的问题。 如何将PHP页面访问者redirect回页面header( "Location: URL of previous page" );

尝试:

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

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

理想情况下,你会想要:

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

这么简单就用这个

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

它为我工作很好

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

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

只是一点补充:我认为这是一个普遍的,已知的事情,增加退出; 如果我们不希望代码的其余部分加载或执行,在头函数之后…

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

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

除非您将会话variables中的前一个url保存到表单中的隐藏字段并保存标题后(“Location:save URL of calling page”);

只要在Javascript中试试这个:

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

或者你可以尝试在PHP中:

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