我正在使用一个函数返回上一页,但它无法正常工作。
我的查看页面
<?php $url = htmlspecialchars($_SERVER['HTTP_REFERER']);?>
<div class="back_buttion">
<a href="<?php echo $url;?>" class="home-btn" >
<i class="fa fa-angle-double-left" aria-hidden="true"></i>
<span class="back">back</span>
</a>
</div>
它移动到上一个网址,但该网页上的数据未加载。为什么会这样? 等待回复.........
答案 0 :(得分:1)
在将用户重定向到登录页面之前,您应该将后面的URL存储在会话变量中,然后,在成功登录后,将它们重定向到存储的后退URL。
例如:你可以在文件的开头有这样的东西:
if (empty($_SESSION['user'])) {
$_SESSION['backURL'] = $_SERVER['REQUEST_URI'];
header('Location: login.php');
exit;
}
然后,在用户成功登录后,您可以填充$ _SESSION ['user']变量,然后重定向到您存储的URL,然后再将其发送到登录页面(如果发生这种情况,则重定向到站点的根目录)您出于任何原因没有存储任何后退URL:
$backURL = empty($_SESSION['backURL']) ? '/' : $_SESSION['backURL'];
unset($_SESSION['backURL']);
header('Location: ' . $backURL);
exit;
另外,您可以像使用REFERRER一样使用
header('Location: ' . $_SERVER['HTTP_REFERER']);
请注意,这可能无法与安全页面(HTTPS)一起使用,并且总体上非常糟糕,因为标头可能被劫持,将用户发送到其他目的地。标题甚至可能不会被浏览器发送。