移至上一页无法正常工作

时间:2016-07-19 05:45:48

标签: php

我正在使用一个函数返回上一页,但它无法正常工作。

我的查看页面

<?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>

它移动到上一个网址,但该网页上的数据未加载。为什么会这样? 等待回复.........

1 个答案:

答案 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)一起使用,并且总体上非常糟糕,因为标头可能被劫持,将用户发送到其他目的地。标题甚至可能不会被浏览器发送。