entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

como detectar la inactividad en una pagina web con php

el usuario inicia sesión, despues de 2 o 3 minutos que no hay actividad, ni clics, ni scroll, ni nada, como desconectar al usuario, enviandole antes un mensaje.

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola Edu,

lo habitual en estos casos es tener guardado junto con los datos de la sesión, la fecha, hora, minutos y segundos de la últiva vez que cargó una pagina del sitio.

Cuando vaya a cargar otra página o la misma, verificás que el tiempo de la sesión no haya pasado el límite, y si lo pasó, borrás la sesión y lo redirigís por ejemplo a l apágina de inicio de sesión.

Para avisarle previamente, podrías tener una función JavaScript que reciba el tiempo de duración de la sesión, y que cuando esté por legar al final le muestre al usuario un mensaje de que su sesión está por expirar.

Un ejemplo muy simple para una sesión que dura 5 minutos y avisa faltando medio minuto sería:

<html>
<head>
...
</head>
<body onload="setTimeout('alert(\'Su sesion expira en 30 segundos!\')', 270000)">
...

El aviso en JavaScript no reemplaza el cálculo de tiempo en PHP para dar por terminada la sesión: simplemente es un mecanismo de alerta... que quedaría más bonito teniendo el mensaje bien decorado en un DIV y que la función lo vuelva visible, etc.

Saludos

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta