Foros del Web » Programando para Internet » PHP »

Actualizar Base de datos al cerrar el navegador

Estas en el tema de Actualizar Base de datos al cerrar el navegador en el foro de PHP en Foros del Web. Buenas, ando teniendo una duda que ya expuse en el título -> necesito saber si es posible actualizar una base de datos al cerrar la ...
  #1 (permalink)  
Antiguo 11/02/2006, 05:20
 
Fecha de Ingreso: febrero-2006
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Actualizar Base de datos al cerrar el navegador

Buenas, ando teniendo una duda que ya expuse en el título -> necesito saber si es posible actualizar una base de datos al cerrar la ventana del navegador, se me complica porque no tiene que ser ni mediante un enlace que haga un evento Close(), ni con un alert que tenes que aceptar para cerrar, necesito que se actualize solo al cerrar el navegador.
Saludos.
  #2 (permalink)  
Antiguo 13/02/2006, 05:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En javascript tienes otro evento: onUnload() .. podrías usarlo para lanzar la llamada a un script PHP que hará tu proceso.

De todas formas esto no es nada seguro .. Es decir, confiar en un evento de javascript que pueda no ser ejecutado correctamente no es bueno; imagina si se me "va la luz" a mi PC que está ejecutando tu página .. tu evento javascript que se ejecutan en el navegador no dará tiempo a que llame a tu script PHP (o podría ser completamente inestable en estos casos). En otros casos algún usuario tendrá desactivado javascript en su navegador o si te basas en abrir una "ventana" (pop-up) como para lanzar así la ejecución de tu script PHP .. tendrá bloqueado en su navegador la apertura de ventanas emergentes.

No sé con qué fin necesitas hacer todo esto .. pero, lo más sano es usar lo que denominan "tiempo de inactividad" .. Es decir, registrar la fecha/hora de ejecución (o ingreso de un usuario según sea el caso) y actualizar esa fecha/hora a cada iteracción de tus scripts PHP (de cada llamada a estos). De esta forma tu debes considerar un tiempo en el que tu estimes que si el usuario No ha pedido ningún URL a tu servidor (script/página ..etc) consideraras como que "el usuario ya no está en el sistema" .. Transcurrido ese tiempo podrás hacer tu proceso de borrado de datos "temporales" o lo que necesites.

Por supuesto este método tiene su margen de error, tanto como el tiempo que definas como "tiempo de inactividad" y no será exacto para cosiderar exactamente cuanto tiempo un "cliente" tuvo abierta una página (o script).

Un saludo,
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 16:07.