-1

我想将用户重定向到他们来自的页面,但不使用 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.'&amp;ref2='.$ref2.'">'; 
?>

我只想要一个 PHP 文件来获取以前的 URL,即确切的 URL,然后将用户发送回它。我正在使用 PHP,因为它会导致页面再次加载。我使用了 javascript ,但它不会再次加载页面,所以请在这里帮助我。提前致谢 。

4

3 回答 3

1

怎么样 ?

<?php
header ("Location: ".$_SERVER['HTTP_REFERER']);
?>

您可以使用 php 直接将客户端重定向到另一个页面,而无需使用 http 的元刷新...

于 2012-04-23T08:40:18.680 回答
0

为了不依赖引用者,您可以将发布表单的页面的 url 存储在隐藏的输入中,然后从处理 POST 请求的脚本中的 $_POST 获取它并发出到该 url 的重定向。

一个非常简单的例子:

在模板中:

<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;
}
于 2012-04-23T09:29:41.050 回答
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>";
于 2012-04-23T09:37:03.497 回答