Foros del Web » Programando para Internet » PHP »

Destruir una Session en tu tiempo ingresado ?

Estas en el tema de Destruir una Session en tu tiempo ingresado ? en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/04/2009, 11:44
 
Fecha de Ingreso: enero-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 0
Destruir una Session en tu tiempo ingresado ?

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.
  #2 (permalink)  
Antiguo 28/04/2009, 12:11
 
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.
  #3 (permalink)  
Antiguo 28/04/2009, 13:16
 
Fecha de Ingreso: enero-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Destruir una Session en tu tiempo ingresado ?

mmm buena tu respuesta doctor ..
pero osea si quisiera que mi session durara 40 minutos osea aunque el usuario no este haciendo nada . q la session caduque desopues de 40 minutos

por default la session tiene una duracion creo ..
ya yo quiero alargar esa duracion a 40 minutos. aunque el usuario no este haciendo nada .

existe un funcion en php que haga eso ?

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 05:47.