Foros del Web » Programando para Internet » PHP »

Problemas con sesiones

Estas en el tema de Problemas con sesiones en el foro de PHP en Foros del Web. Hola que tal esta es mi primer pregunta en el foro y espero poder aportar en todo lo que sea, no soy un experto en ...
  #1 (permalink)  
Antiguo 29/11/2006, 11:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Problemas con sesiones

Hola que tal esta es mi primer pregunta en el foro y espero poder aportar en todo lo que sea, no soy un experto en PHP pero me la arreglo bastante bien asiq en lo que pueda ayudo.
Mi pregunta es la siguiente, tengo todo corriendo en un server Fedora 5 con php 5 y apache2, cada vez que creo una sesión, y en esta utilizo los arreglos de sesión como $_SESSION con distintos valores y paso a otra pagina donde se leen estas variables, estas no son leidas, ahora transcribo los scripts para que se entienda más.

script control

<?php

//Utilizo una funcion para autenticar al usuario
//NO le den importancia a cómo recibo los datos y autentico
$valor = auth ($user, $pass);

if (($valor==true) && ($user!="")&&($pass!="")){//if 1

//inicia la sesion

session_start();

//definimos en el array $_SESSION["autentificado"]="SI"; que demuestra que el usuario está autorizado
$_SESSION["autentificado"]="SI";

//defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
$_SESSION["ultimo_acceso"] = date("Y-n-j H:i:s");

header("Location: "funcion.seguridad.php");
}//en if
?>

Hasta ahi todo bien el siguiente script es el que me da problemas


funcion.seguridad.php

<?
//Comprobamos que el usuario está registrado y no ha llegado aquí por otros //medios dudosos o sea si no existe la variable $_SESSION["autentificado"] es //que no se creo la sesion

if( !isset($_SESSION["autentificado"]))
//Tambien probé con session_is_registered("autentificado")
{

session_unset();
session_destroy();
header("Location: /login.php");
}

else
{

//Si está logueado calculamos el tiempo en que la sesion sera destruia
//momento en que se inicio la sesion, trayendo el dato registrado en el archivo control.php

$fecha_inicio = $_SESSION["ultimo_acceso"];

$ahora = date("Y-n-j H:i:s");

//Calcula cuanto tiempo lleva dentro del sitio desde que inici�sesi�

$tiempo_de_vida = (strtotime($ahora) - strtotime($fecha_inicio));


//Comparamos el tiempo de vida de la sesi�

/*Ahora como versi� de testeo la sesi� durar�10 segundos,
en la versi� final seran 30 minutos o sea 1800 segs*/


if($tiempo_de_vida >= 5)

{

//si se ha superado el tiempo de vida de la sesiion

echo "Se le acabó el tiempo de vida";

//Destruimos la sesion

session_unset();

session_destroy();

//Lo enviamos de regreso a la pantalla de login

header("Location: /login.php");

}

//Si no ha superado el tiempo de vida actualizamos la fecha actual

else

{

$_SESSION["ultimo_acceso"] = $ahora;

}

}
?>




BUeno el problema es que las variables de sesión si se crean en el server xq las abro y las leo pero el script de seguridad nunca puede leer los valores y me lleva de nuevo al login o sea isset($_SESSION["autentificado"] y
session_is_registered("autentificado") nunca me funcionan.
Ya he revisado php.ini y no veo nada raro. Espero que alguien pueda ayudarme, si esta muy complicado de entender porque soy medio enredado haganmelo saber por favor, saludos
  #2 (permalink)  
Antiguo 29/11/2006, 11:40
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 20 años
Puntos: 1
Que tal, por lo que veo en funcion.seguridad.php no tienes el session_start() en las primeras lines esto es necesario en todas las paginas donde vayas a utilzar las sesiones para que se puedan ir propagando, prueba esto y avisanos. Espero que te sirva... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 06/12/2006, 14:46
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Problemas con sesiones

Muchas gracias amigo, la verdad es que tardé en volver a contestarte pero esa era solución al problema, la verdad es que habías dado en la tecla justa, muchisimas gracias jmqc, saludos y chiflen para lo que necesiten
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 22:05.