"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo redirigir a la página anterior después de iniciar sesión en PHP?

¿Cómo redirigir a la página anterior después de iniciar sesión en PHP?

Publicado el 2024-11-08
Navegar:550

How to Redirect to Previous Page After Login in PHP?

Redirigir a la página anterior después de iniciar sesión

La imposibilidad de redirigir a los usuarios a su destino previsto después de iniciar sesión correctamente puede ser un obstáculo frustrante. Al incorporar técnicas específicas y manejar posibles obstáculos, es posible resolver este problema de manera efectiva.

Solución: utilizar una variable $_GET

Un enfoque común es utilizar una variable $ _GET variable para capturar la página actual del usuario. Al redirigirlos a la página de inicio de sesión, agregar esta variable permite que el script recupere el destino deseado después de una autenticación exitosa. Por ejemplo, si un usuario está leyendo un artículo e intenta dejar un comentario, la URL de la sección de comentarios (por ejemplo, comment.php?articleid=17) debe pasarse a la página de inicio de sesión mediante una variable $_GET.

Implementación:

En el código proporcionado:

  1. login.php: Enviar al usuario al inicio de sesión página con la página actual como parámetro $_GET:

    header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
  2. login-check.php: Recuperar la URL de destino de la variable $_POST['ubicación']:

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
  3. Si el inicio de sesión se realiza correctamente, redirige al usuario a la URL de destino o a la página predeterminada (si no se especifica ninguna):

    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();
    }

Precauciones:

  • Valide la URL de destino: Asegúrese de que la URL de destino sea segura y no contener contenido malicioso.
  • Utilice urlencode: Utilice urlencode() al pasar URL como parámetros $_GET para manejar caracteres especiales correctamente.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3