Foros del Web » Programando para Internet » PHP »

Volver al sitio correcto

Estas en el tema de Volver al sitio correcto en el foro de PHP en Foros del Web. Hola, Necesito que un login.php devuelva al usuario a la página de dónde procede una vez que se ha logeado. Por ejemplo: Desde misitio.com/dir1 el ...
  #1 (permalink)  
Antiguo 01/02/2008, 11:14
 
Fecha de Ingreso: junio-2006
Mensajes: 58
Antigüedad: 18 años, 5 meses
Puntos: 0
Volver al sitio correcto

Hola,

Necesito que un login.php devuelva al usuario a la página de dónde procede una vez que se ha logeado.

Por ejemplo:

Desde misitio.com/dir1 el usuario clica en 'login' y después de logearse desde 'login.php' quiero redireccionarlo a misitio.com/dir1 o al que sea.

He pensado guardar en una cookie la página actual de forma que login.php la lea y redireccione correctamente. No se si existe otro método mejor.

El problema es que cuando guardo la cookie desde misitio.com/dir1 o sub.misitio.com la 'Ruta' de la cookie es 'dir1' o 'sub' o lo que sea ... mientras que login.php está en la 'raíz' del sitio.

Parece ser que al ser rutas diferentes login.php no consigue leer la cookie.

¿Alguna idea?
  #2 (permalink)  
Antiguo 01/02/2008, 11:23
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Volver al sitio correcto

el link de login que sea

<a href="login.php?ref=<?php echo base64_encode($_SERVER['REQUEST_URI']); ?>">Login!</a>

Y una vez hecho login:

<?php header("Location: ".base64_decode($_GET['ref'])); exit; ?>

Ten en cuenta que debes arrastrar la variable "ref" durante todo el proceso de login. El base64 es para que no se confunda con posibles "?" de la redirección, pero si lo prefieres puedes usar rawurlencode
  #3 (permalink)  
Antiguo 01/02/2008, 11:39
 
Fecha de Ingreso: junio-2006
Mensajes: 58
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Volver al sitio correcto

Gracias por tu respuesta.

Ya había pensado en algo así, pero me parecía más elegante que el enlace fuera a login.php simplemente.

Acabo de descubrir que a setcookie le puedes agregar un parámetro para la ruta, con un simple "/" parece que funciona.

Aún así si me da problemas lo haré con tu código porque parece ser lo menos problemático.
  #4 (permalink)  
Antiguo 01/02/2008, 12:04
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Volver al sitio correcto

Otra opción es usar $_SERVER['HTTP_REFERER'] en login.php, para saber de dónde ha venido el usuario, pero algunos usuarios tienen desactivado el envío de esta variable (muy pocos).
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:08.