Las circunstancias: Estoy trabajando en un Servidor compartido y el que lo administra tiene configurado su Apache para que las sesiones caduquen después de 20 minutos de inactividad (es decir, después de 20 minutos de no hacerle clic a nada que envíe datos y que empiece con un <?php session_start(); ?>).
Lo que quiero hacer: Que la sesión se mantenga abierta aún si un usuario con su sesión iniciada demora más de 20 minutos antes de hacer clic en el botón Enviar de un formulario.
Porqué lo necesito: El usuario puede tardar más de 20 minutos en completar ciertos formularios y es muy frustrante hacer clic en Enviar y que en vez de insertar los datos, te mande a la página de validación (o sea, que tengas que llenar el formulario otra vez).
Cómo he pensado hacerlo: Usando AJAX, concretamente, el framework Prototype y el objeto Ajax.PeriodicalUpdater() llamando a un archivo PHP que "reviva la sesión" una vez por minuto. Este truco sucio parece haber funcionado hasta ahora pues la sesión se ha mantenido activa pese a no tocar mi computadora por más de una hora..
Las dudas:
- ¿Tiene algún inconveniente esto?
- Si es así, ¿qué alternativas tengo?
- ¿Hay alguna mejor forma de hacerlo?
Muchas gracias de antemano.
PD. Excelente la nueva imagen de ForosDelWeb