«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как перенаправить на предыдущую страницу после входа в систему в PHP?

Как перенаправить на предыдущую страницу после входа в систему в PHP?

Опубликовано 8 ноября 2024 г.
Просматривать:956

How to Redirect to Previous Page After Login in PHP?

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

Невозможность перенаправить пользователей в пункт назначения после успешного входа в систему может стать неприятным препятствием. Эту проблему можно эффективно решить, применяя определенные методы и устраняя потенциальные ловушки.

Решение: использование переменной $_GET

Распространенным подходом является использование переменной $_GET. Переменная _GET для захвата текущей страницы пользователя. При перенаправлении их на страницу входа добавление этой переменной позволяет сценарию получить желаемый пункт назначения после успешной аутентификации. Например, если пользователь читает статью и пытается оставить комментарий, URL-адрес раздела комментариев (например, comment.php?articleid=17) должен быть передан на страницу входа через переменную $_GET.

Реализация:

В коде предоставлено:

  1. login.php: Отправьте пользователя на страницу входа с текущей страницей в качестве параметра $_GET:

    header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
  2. login-check.php: Получить целевой URL-адрес из переменной $_POST['location'] :

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
  3. Если вход выполнен успешно, перенаправить пользователя на целевой URL-адрес или страницу по умолчанию (если ничего не указано):

    if(isset($_SESSION['id_login'])) {
     // if login is successful and there is a redirect address, send the user directly there
     if($redirect) {
         header("Location:". $redirect);
     } else {
         header("Location:login.php?p=3");
     }
     exit();
    }

Меры предосторожности:

  • Проверьте целевой URL: Убедитесь, что целевой URL безопасен и не содержат вредоносный контент.
  • Используйте urlencode: Используйте urlencode() при передаче URL-адресов в качестве параметров $_GET для правильной обработки специальных символов.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3