Переход на предыдущую страницу не работает должным образом

php

77 просмотра

1 ответ

46 Репутация автора

Я использую функцию, чтобы вернуться на предыдущую страницу, но она не работает должным образом.

моя страница просмотра

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

Он перемещается на предыдущий URL, но данные на этой странице не загружаются. Почему это так ??? Ждем ответ.........

Автор: Pooja Krishna Источник Размещён: 19.07.2016 05:45

Ответы (1)


1 плюс

8366 Репутация автора

Вы должны сохранить обратный 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 LIKE

header('Location: ' . $_SERVER['HTTP_REFERER']);

Обратите внимание, что это может не работать с защищенными страницами (HTTPS), и в целом это довольно плохая идея, поскольку заголовок может быть взломан, отправляя пользователя в другое место назначения. Заголовок может даже не быть отправлен браузером.

Автор: Pradeep Размещён: 19.07.2016 06:02
Вопросы из категории :
32x32