我想将用户重定向到他们来自的页面,但不使用javascript go.back等类似内容,因为它不会再次加载页面。
我找到了一些代码
<?php
$ref1 = urlencode($_SERVER['HTTP_REFERER']);
$ref2 = urlencode('http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
echo '<meta http-equiv="refresh" content="5;url=page2.php?ref1='.$ref1.'&ref2='.$ref2.'">';
?>
我只想要一个PHP文件来获取以前的URL,确切的URL,然后将用户发回给它。我正在使用PHP,因为它会导致页面再次加载。 我使用了javascript,但它没有再次加载页面,所以请在这里帮助我。 提前谢谢。
答案 0 :(得分:1)
怎么样?
<?php
header ("Location: ".$_SERVER['HTTP_REFERER']);
?>
您可以使用php直接将客户端重定向到另一个页面,而无需使用http的元刷新...
答案 1 :(得分:0)
为了不依赖引用者,你可以将你将表单POST的页面的url存储在一个隐藏的输入中,然后从处理POST请求的脚本中的$ _POST中获取它并发出重定向到该请求网址。
一个非常简单的例子:
在模板中:
<form action="<?= $yourDestinationUrl ?>" method="POST">
<!-- Here be your form elements -->
<input type="hidden" name="redirectTo" value="<?= $_SERVER['REQUEST_URI'] ?>" />
</form>
在处理POST请求的脚本中:
[your logic goes here]
if(!empty($_POST['redirectTo']) {
header('Location: ' . $_POST['redirectTo']);
die;
}
答案 2 :(得分:0)
我这样用过:
1 - 在上一页中,我获得了完整的url并添加了like参数,最后一个参数。
$e = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
href="www.nextpage.com?x=yours_parameters&e=<?php echo $e; ?>"
2 - 在实际页面中,您必须获得e值
$_SESSION["url"] = $_SERVER['REQUEST_URI'];
$link = explode("e=",$_SESSION["url"]);
$e = $link[1];
3 - 所以,var $ e将是你的后面的网址
<script>location.href='$e';</script>";