Foros del Web » Programando para Internet » PHP »

Tiempo de Inactividad

Estas en el tema de Tiempo de Inactividad en el foro de PHP en Foros del Web. Hola familia, tengo una duda, necesito tener control sobre un usuario que este inactivo en mi sistema, es decir que cuando cumpla un tiempo determinado ...
  #1 (permalink)  
Antiguo 28/03/2008, 07:45
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Tiempo de Inactividad

Hola familia, tengo una duda, necesito tener control sobre un usuario que este inactivo en mi sistema, es decir que cuando cumpla un tiempo determinado inactivo halla alguna accion por parte del sitema, una llamada a alguna funcion o una consulta a la BD, la pregunta es: existe en PHP alguna funcion predefinida para saber este tiempo de inactividad(TimeOut) o tengo que implementarla, me imagino que por lo menos la parte de la accion despues de cumplido este tiempo inactivo si quede por mi parte. Saludos
  #2 (permalink)  
Antiguo 28/03/2008, 08:10
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Tiempo de Inactividad

Una función como tal no existe, pero tu mismo puedes decidir que hacer para manejar los procesos de actividad de los usuarios en tu web. lee este post creo que te puede servir Cierre de sesion por inactividad





Saludos.
  #3 (permalink)  
Antiguo 28/03/2008, 09:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Re: Tiempo de Inactividad

Estuve leyendo el en la direccion que me recomendaste y todo lo entiendo bastante bien; pero me surge una duda, por ejemplo en este codigo donde se calcula el tiempo inactivo:

<?
//iniciamos la sesión
session_name("loginUsuario");
session_start();

//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.php");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["ultimoAcceso"];
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempo_transcurrido >= 600) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.php"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$_SESSION["ultimoAcceso"] = $ahora;
}
}
?>

en que momento o como yo indico que se comience a desarrollar ese codigo, realmente no me queda claro eso.
  #4 (permalink)  
Antiguo 28/03/2008, 09:15
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Tiempo de Inactividad

Lo puedes hacer usando un Cronjob si trabajas bajo linux o una tarea programada si trabajas bajo windows, el cual te ejecute ese script cada cierto tiempo para controlar el tiempo de inactividad de cada usuario, la otra opción que tienes es utilizar cookies.



Saludos.
  #5 (permalink)  
Antiguo 28/03/2008, 09:36
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
De acuerdo Re: Tiempo de Inactividad

interesante tema

saludos
__________________
gerardo
  #6 (permalink)  
Antiguo 28/03/2008, 09:39
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
De acuerdo Re: Tiempo de Inactividad

a mi me ayudaron algo similiar pero en ajax
asi:

http://www.forosdelweb.com/f77/verfi...r-href-553488/


saludos
__________________
gerardo
  #7 (permalink)  
Antiguo 28/03/2008, 09:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Re: Tiempo de Inactividad

Chalchis estuve mirando eso de AJAX; pero como cultura general porque no puedo utilizar mucho AJAX y ya he hecho algunas otras cosas. Con respecto a lo de las tareas programadas y disculpen que joda tanto, creé una tarea para hacer una prueba del funcionamiento, lo que hice fue que se ejecutara el Google Talk a una hora especifica pero me dice que "el servicio de Programador de Tareas no esta en ejecucion" y como es logico nunca se ejecuta el Goolgle Talk, que pudiese ser este problema. Estoy trabajando con Windows.
  #8 (permalink)  
Antiguo 28/03/2008, 12:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
Desacuerdo Re: Tiempo de Inactividad

ese tema de hacerlo con AJAX parece estar bueno, solo que me parece que AJAX consuma bastantes recursos.
  #9 (permalink)  
Antiguo 28/03/2008, 16:09
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa Re: Tiempo de Inactividad

dependera de lo que uno desea hacer, en algunos sitios de blogs dan tips cuando y donde no usar ajax y pienso que para saber si esta activo o inactivo la session de un usuarios puede ser idoneo el uso de ajax.


saludos
__________________
gerardo
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:15.