Cita:
Iniciado por HackmanC Hola,
Creo que no has comprendido bien el problema, el problema es que la página login.php hace alguna validación para ver si el usuario está logeado y por alguna razón, desconocida para mí porque tendría que probar para saberlo, pero sí hace el redirect, según lo que comentas.
Pero la página compra_alta.php, por un motivo desconocido porque no has mostrado el código, encuentra que el usuario no esta logeado y por esa razón hace un redirect a la página login.php.
De nuevo login.php detecta que el usuario sí esta validado y lo manda a compra_alta.php, esta última detecta que el usuario no está validado y lo manda a login.php.
Y este proceso se repite indefinidamente, ¿Ves ahora el problema?
Saludos,
Hola
creo que si lo he comprendido, dado que el redirect de la función header SÍ FUNCIONA hacia la pagina compras_alta.php cuando en login.php lo hago así:
Código PHP:
header("Location: /compras_alta.php");
asi tambien SI FUNCIONA:
Código PHP:
$url = "/compras_alta.php";
if ($_SESSION[registrado]) {
header("Location: ".$url);
exit;
}
sin embargo NO FUNCIONA cuando la obtengo por GET (login.php?url=/compras_alta.php) :
Código PHP:
$url = $_GET['url'];
como le he solucionado entonces?
en compras_alta.php guardo la url en una variable de sesión:
Código PHP:
$_SESSION['last_page'] = $_SERVER['REQUEST_URI'];
header("location: login.php");
exit;
entonces en login.php , en vez de esto:
Código PHP:
$url = $_GET['url'];
hice esto:
Código PHP:
if(isset($_SESSION['last_page'])) {
$url = $_SESSION['last_page'];
} else {
$url = "index.php";
}
Código PHP:
if ($_SESSION[registrado]) {
header("Location: ".$url);
exit;
}
y ahora funciona lo que yo quería, que son dos cosas:
pasar dinamicamente por variable la url a la función header;
y una vez logueado volver a la pagina anterior!
saludos!