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:
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']));
login-check.php: Recuperar la URL de destino de la variable $_POST['ubicación']:
$redirect = NULL; if($_POST['location'] != '') { $redirect = $_POST['location']; }
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:
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