Foros del Web » Programando para Internet » PHP »

¿Cómo regreso a la página que llamó el inicio de sesión?

Estas en el tema de ¿Cómo regreso a la página que llamó el inicio de sesión? en el foro de PHP en Foros del Web. Hola genios del foro!! Estoy en los ultimos detalles de un sitio web y tengo un dilema que no he podido resolver, como puedo regresar ...
  #1 (permalink)  
Antiguo 06/06/2009, 12:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 0
¿Cómo regreso a la página que llamó el inicio de sesión?

Hola genios del foro!!

Estoy en los ultimos detalles de un sitio web y tengo un dilema que no he podido resolver, como puedo regresar al sitio que llamo el inicio de sesión por ejemplo tengo en las paginas con acceso restringido (panel de control, acceso a descargas, etc.) el siguiente codigo:

Cita:
<?
//Inicio la sesion
session_start();
if($_SESSION['login']=="")
{
Header ("Location: login.php");
}
?>
y tengo login.php y process_login php

en donde si el usuario esta logueado se supone regrese a la pagina que llamó el inicio de sesión que serían panel de control, acceso a descargas, pero intentando con los siguientes codigos no se regresa automaticamente a las paginas de acceso restringido aunque si se haya logueado correctamente.

Si intento con este codigo se regresa a login.php que es la pagina anterior a process_login.php
Cita:
$pag=$_SERVER['PHP_SELF'];
Header ("Location: $pag?");
exit;
Si pongo este codigo tambien se regresa a login.php:
Cita:
$url = explode("?",$_SERVER['HTTP_REFERER']);
$pag=$url[0];
Header ("Location: $pag?");
exit;
Si pongo este codigo tambien se queda en process_login.php con la pagina completamente en blanco:
Cita:
$url = explode("?",$_SERVER['HTTP_REFERER']);
$pag=$url[-1];
Header ("Location: $pag?");
exit;
Sin importar como cambie: $pag=$url[-1]; nunca se va a la pagina de acceso restrigido pero si le doy al enlace entra perfecto porque se inicia sesion correctamente.

Se que podría poner:
Cita:
Header ("Location: panel.php"); ó Header ("Location: descargas.php");
para que se redirigiera automaticamente pero tendría que hacer un login.php para cada sitio restringido y son muchos.

Alguien sabe como puedo resolverlo??

De antemano agradezco su ayuda

Última edición por cara_luna; 06/06/2009 a las 12:15
  #2 (permalink)  
Antiguo 06/06/2009, 12:11
 
Fecha de Ingreso: enero-2006
Mensajes: 199
Antigüedad: 18 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo regreso a la página que llamó el inicio de sesión?

guarda la pagina a regresar en una session


session_start();
$_SESSION[retornar] = $urlaretornar;
  #3 (permalink)  
Antiguo 06/06/2009, 13:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ¿Cómo regreso a la página que llamó el inicio de sesión?

Cita:
Iniciado por piojoso Ver Mensaje
guarda la pagina a regresar en una session


session_start();
$_SESSION[retornar] = $urlaretornar;
En este caso como sería guardar la pagina porque pongo el codigo en la pagina que llama la accion:
panel.php
Cita:
<?
//Inicio la sesion
session_start();
$_SESSION[retornar] = $urlaretornar;
if($_SESSION['login']=="")
{
Header ("Location: login.php");
}
echo "acceso correcto";
?>
y en codigo para que regrese pongo:
Cita:
Header ("Location: $_SESSION[retornar]");
y se queda en process.php

Escribo el codigo:
Cita:
$urlaretornar= "panel.php";
$_SESSION[retornar] = $urlaretornar;
y se igual manera se queda en process.php

Tambien intenté
Cita:
$_SESSION['history'] = $_SERVER['PHP_SELF'] ;
$pag = $_SESSION['history'] ;
Cita:
Header ("Location: $pag");
y pasa lo mismo.

Perdón pero estoy aprendiendo y en realidad no se como hacerlo. me podrias hechar otra manita.
  #4 (permalink)  
Antiguo 06/06/2009, 13:31
 
Fecha de Ingreso: enero-2006
Mensajes: 199
Antigüedad: 18 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo regreso a la página que llamó el inicio de sesión?

tenes este orden

pagina a retornar >> login.php >> process_login.php

el primer codigo va en la pagina a retornar
Cita:
session_start();
$_SESSION[retornar] = $_SERVER['PHP_SELF'] ;
en process_login.php
Cita:
posteriormente de loguearse
session_start();
$retornar = $_SESSION[retornar];
Header ("Location: $retornar");
exit;
si no usas urls amigables cambia
$_SESSION[retornar] = $_SERVER['PHP_SELF'] ;

por

$_SESSION[retornar] =$_SERVER['REQUEST_URI'];
  #5 (permalink)  
Antiguo 06/06/2009, 14:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ¿Cómo regreso a la página que llamó el inicio de sesión?

funcionó perfecto

Muchisimas gracias por tu tiempo y atenciones.

Saludos y mucha suerte
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 19:49.