Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Tengo una aplicación web hecha con sesiones. Las sesiones me funcionan bien, pero las he hecho con una serie de funciones y scripts y me ...
  #1 (permalink)  
Antiguo 18/09/2004, 23:00
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 13 años, 5 meses
Puntos: 8
Problema con sesiones

Tengo una aplicación web hecha con sesiones. Las sesiones me funcionan bien, pero las he hecho con una serie de funciones y scripts y me encuentro con un problema.

Tengo un archivo "comprobar_sesion.php" que comprueba que se tiene sesión, sino se tiene se redirige al form de acceso.

Código PHP:
<?
if ($_SESSION["id_sesion] != session_id() {
   require("
funciones/saltar.php");
   saltar("
form_acceso.php");
}
?>

Tengo un fichero que utilizo como cabecera de todas mis páginas llamado cabecera.php y que aprovecho para meter en el todo lo común a las páginas, como es algún logo y el que se compruebe que se tiene sesión

Código PHP:
<? 
include ("comprobar_sesion.php");
echo 
"<html><head> .......... </head>" 
?>

Bueno, aquí viene el problema. Una de las páginas cualquiera a las que para acceder se necesita sesión, sería de esta forma:
Código PHP:
<? include ("cabecera.php"); 
  echo 
"<body>........</body></html>";
?>
Si intento acceder a esta última página sin haberme registrado (sin tener sesión), se me redirige a la página de formulario de acceso (como debe ser), PERO durante 1-2 segundos se me carga esta página a la que no debería haber podido acceder. No se si me he explicado bien. A ver si podeis ayudarme y decirme porque pasa esto.

Gracias.
  #2 (permalink)  
Antiguo 18/09/2004, 23:58
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
supongo que la función saltar() es la que redirecciona... lo que debes hacer es que al redireccionar detenga la ejecución del script actual. de esa forma ya no seguirá cargando el resto mientras redirecciona.
Código PHP:
<? 
if ($_SESSION['id_sesion'] != session_id() { 
   require(
"funciones/saltar.php"); 
   
saltar("form_acceso.php");
   exit();
//esta es la línea que debes agregar 

?>
Saludos
  #3 (permalink)  
Antiguo 19/09/2004, 16:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Por qué guardas en una variable de sesión el SID si eso ya lo comprueba PHP?

Es decir .. en cada inicio de uso de sesiones vía: session_Start() (obligatório) si un SID es propagado a tu script y este es válido .. se continúa con el .. si no llega un SID válido se inicia uno nuevo. Pero, esto lo hace ya "PHP" por sí sólo

Un saludo,
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 17:20.