回到带有标题的前一页(“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']; }