Foros del Web » Programando para Internet » PHP »

Cierra sesion por inactividad y reedirecionar

Estas en el tema de Cierra sesion por inactividad y reedirecionar en el foro de PHP en Foros del Web. Buenos días, Tengo un script que cierra sesión por inactividad, pero necesito que cuando pasen 20 segundos, me refresque la pagina y me reedirecione a ...
  #1 (permalink)  
Antiguo 12/07/2013, 08:58
 
Fecha de Ingreso: enero-2012
Mensajes: 109
Antigüedad: 12 años, 10 meses
Puntos: 0
Cierra sesion por inactividad y reedirecionar

Buenos días,

Tengo un script que cierra sesión por inactividad, pero necesito que cuando pasen 20 segundos, me refresque la pagina y me reedirecione a logout.php

Tienen idea como hacerlo para que me refresque y reedirecione.

Código PHP:
// CIERRE DE SESIONES POR INACTIVIDAD 
    
    
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");  
    
    if(isset(
$_SESSION['usuario'])){  
    
$fechaGuardada $_SESSION['ultimoAcceso'];   
    
$ahora date("Y-n-j H:i:s");   
    
$tiempoTranscurrido = (strtotime($ahora)-strtotime($fechaGuardada);  
    if(
$tiempo_transcurrido >= 20) {  
        
session_destroy();  
      
header("Location: logout.php");  
    } 
    else {  
        
$_SESSION['ultimoAcceso'] = $ahora;   
    }  
    }  
    
// FIN CIERRE DE SESIONES POR INACTIVIDAD 
  #2 (permalink)  
Antiguo 12/07/2013, 09:06
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Cierra sesion por inactividad y reedirecionar

Varias cosas, primero que nada necesitas agregar un exit luego del header location, porque si no, la ejecución del script continua.

Lo segundo es que, no entiendo para que quieres refrescar la pagina, así pasen 20 50 o 1000 segundos, la siguiente acción te deslogueara, no es necesario que refresques cada 20 segundos, ademas esto es sumamente molesto para un usuario.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 12/07/2013, 09:50
 
Fecha de Ingreso: enero-2012
Mensajes: 109
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cierra sesion por inactividad y reedirecionar

Coloque 20 segundos por ejemplo, pero es más tiempo.

Con el script la web queda inactiva si refrescar MANUALMENTE, pero necesito que se refresque y reedirecione automaticamente cuando el usuario tiene X tiempo inactivo.
  #4 (permalink)  
Antiguo 12/07/2013, 10:25
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Cierra sesion por inactividad y reedirecionar

Podrias agregar algo como
<meta content="20" http-equiv="REFRESH"> </meta>

Ese html refresca la pagina cada 20 segundos, tambien puedes hacerlo con JS
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #5 (permalink)  
Antiguo 12/07/2013, 12:41
 
Fecha de Ingreso: enero-2012
Mensajes: 109
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cierra sesion por inactividad y reedirecionar

Si coloco eso, me refrescará la pagina sin importar la inactividad.
  #6 (permalink)  
Antiguo 15/07/2013, 09:08
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Cierra sesion por inactividad y reedirecionar

Cita:
Iniciado por juniorhernandezg Ver Mensaje
Si coloco eso, me refrescará la pagina sin importar la inactividad.
Nunca mencionas que no quieres que refresque si hay actividad. No somos adivinos.

Creo que tu planteo es incorrecto, desde el vamos. Lo que quieres hacer es mantener actualizado algun componente seguramente, deberías usar un polling ajax, que es lo mas sencillo, para actualizar los datos que necesites.

Si igualmente sigues con tu idea de actualizar la pagina cada 20 segundos sin actividad, podrías jugar con algunas llamadas ajax repetidas en el tiempo.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: cierra, inactividad
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 12:18.