Hola informacionsys y marcusaurelio gracias por responderme, estuve adaptando el código a mi proyecto pero tengo un problema que siempre se actualiza la variable la variable de sesión timeout, este es el código que tengo:
sesion.php
Código PHP:
<?php
$respuesta=2;
$mensajeError="No se puede ejecutar la aplicación";
session_start();
// establecemos el tiempo de espera en segundos
$inactivo = 60;
if (isset($_SESSION["timeout"]))
{
$tiempoSession = time() - $_SESSION["timeout"];
if ($tiempoSession>=$inactivo) {
// destruimos la sesión y desconectamos al usuario
session_destroy();
$respuesta=0;
$mensajeError="Su sessión será cerrada";
}
}
// el usuario interactúa por primera vez
$_SESSION["timeout"] = time();
if($tiempoSession==20)
{
$respuesta=1;
$mensaje="Su sesión será cerrada en 15 segundos";
}
$salidaJson=array(
"respuesta"=>$respuesta,
"mensaje"=>$mensajeError
);
echo json_encode($salidaJson);
?>
y en el sesion.js
Código:
$(document).ready(function(){
var validateSession = setInterval(session,5000); //cada cinco segundos
function session()
{
$.ajax({
cache: false,
type: "POST",
dataType:'json',
url: './sesion.php',
data: {},
success: function(response)
{
if(response.respuesta == 0)
{
alert(response.mensaje);
clearInterval(validateSession);
}else if(response.respuesta == 1){
alert(response.mensaje);
}
},
error: function(){
alert("Error General del Sistema, Intente Más Tarde");
}
});
La variable de sesión timeout la defino cuando inicio sesión
Que debo de hacer para que funcione bien y me muestre los mensaje si se ha expirado la sesión del usuario o le falta 20 segundos para que se cierre la sesión?
También me gustaria saber como puedo hacer en el caso que el javascript este deshabilitado? ya q si esta deshabilitado pueda funcionar el de php, se puede?