Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/04/2009, 12:11
maeguaras
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años
Puntos: 0
Respuesta: Destruir una Session en tu tiempo ingresado ?

Cita:
Iniciado por jesuko Ver Mensaje
a ver colegas ojala que me den una mano nose si habra en php una funcion donde tu solo coloques el tiempo de vida de un session osea lo quiero hacer que mis sessiones mueran en 40 minutos..

gracias.
Jesuko, para hacer dicha tarea, cuando se loguea el usuario y creas la sesión, puedes hacer lo siguiente:

Ej:

session_name("login");
session_start();
$_SESSION["autentificado"] = "SI";
$_SESSION["ultimoacceso"] = date("Y-n-j H:i:s");

Creas la sesion, lo pones como autentificado y creas ultimoacceso con la fecha y hora actual.

Luego, en cada pagina, haces lo siguiente:

session_name("login");
session_start();
if ($_SESSION["autentificado"] != "SI") {
} else {
$fechaGuardada = $_SESSION["ultimoacceso"]; // obtengo la fecha y hora guardar
$ahora = date("Y-n-j H:i:s"); // obtengo la fecha actual
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada)); a tiempo transcurrido, le doy la cantidad de segundos entre la fecha actual y la guardad
if($tiempo_transcurrido >= 600) { //comparo por segundos
session_destroy(); // si se paso el tiempo, destruyo la sesión
} else {
$_SESSION["ultimoacceso"] = $ahora; // si no paso el tiempo, refresco la hora, esto lo haces si quieres, si no esta este paso, inicia secion, y cuando pasa el tiempo, por mas que haya hecho cosas en la web, se va a cerrar la sesion, de la forma como esta aca, cada vez que realiza algo, se refrezca el acceso.
header ("Location: comunicados_ok.php");
}
}


Espero que te ayude, cualquier duda te la respondere mas abajo.

Saludos.