Foros del Web » Programando para Internet » PHP »

Ejecutar acción al cerrar la pagina

Estas en el tema de Ejecutar acción al cerrar la pagina en el foro de PHP en Foros del Web. Saludos. Necesito que al cerrar la pagina me ejecute una accion en la base de datos, como lo hago???? Agradezco la ayuda y sugerencias que ...
  #1 (permalink)  
Antiguo 04/09/2006, 08:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta Ejecutar acción al cerrar la pagina

Saludos.

Necesito que al cerrar la pagina me ejecute una accion en la base de datos, como lo hago????

Agradezco la ayuda y sugerencias que me puedan brindar.
  #2 (permalink)  
Antiguo 04/09/2006, 09:17
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Con Javascript puedes hacer esa función de "Al cerrar la página", y podrías poner PHP por medio.

De todas formas es de poca utilidad lo que quieres hacer. Puede que no hayas pensado en que si se cierra directamente el proceso del navegador, se reinicia el ordeandor o cualquier cosa por el estilo, ya no está haciendo esa acción.

Suerte.
  #3 (permalink)  
Antiguo 04/09/2006, 09:33
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta Te planteo mejor el caso

Saludos david_M_G
Lo que pasa es que los usuarios tienen la costumbre de abrir varias ventanas con el mismo usuario, la idea es que por maquina solo puedan ingresar una sola vez; lo que hago es guardar en una tabla la ip, el login y el nombre del aplicativo, cuando entran a la pagina index valido si tiene registro la ip entonces salga el letrero de que "tiene mas ventanas abiertas debe cerrar" pero si ya la cerro ahi el problema....

Como lo haria??

Agradezco de antemano su ayuda...
  #4 (permalink)  
Antiguo 04/09/2006, 09:39
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Pero si no la cierra, no podrá volver. Supongo que lo ideal son las SESIONES, pero nunca las he tocado. A ver si alguien lo puede confirmar y ayudarte en el tema
  #5 (permalink)  
Antiguo 04/09/2006, 13:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta No me sirven sesiones

Saludos, he trabajado con sesiones pero no me ha resultado bueno debido a que borra las sesiones a los 15 minutos o antes he hecho de todo pero nada me ha servido.


Agradezco la ayuda que me puedan brindar.
  #6 (permalink)  
Antiguo 05/09/2006, 08:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta Nadie sabe como colaborarme???

Saludos...

No saben como solucionar esto??
  #7 (permalink)  
Antiguo 05/09/2006, 09:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por tattojk Ver Mensaje
Saludos...

No saben como solucionar esto??
Ya te han comentado que si hablas de "páginas" ... la solcuión está del lado del cliente. PHP no sabe nada más de la "página" que generó una vez enviada al cliente.

En javascript tienes eventos como "onUnload()" para detectar (si es que funciona y como funcione según navegador que uses) que tal página se cerró. Es ahí donde debes lanzar la ejecución (llamar a tu script PHP por el URL) vía javascript.

Realmente este tema no se maneja así, se maneja como "tiempo de inactividad" .. es decir, se determina un tiempo en el que si no ha ocurrido ninguna petición de tus scripts PHP al servidor .. el proceso ya "expiró" para realizar tu proceso PHP/BBDD o lo que necesites, por supuesto esto tiene su gran margen de error = (igual) al tiempo que uno define como "tiempo de inactividad" o de "expiración" y no es válido para registrar por ejemplo una "salida" de una página y menos si se hizo en forma "abrubta" .. aquí con javascript consideramos que se mandará a llamar a otra página antes de cerrarla definitivamente .. pero si "apagas ese PC" de golpe .. no se dará tiempo ni a ese proceso javascirpt, así que tampoco es viable esa solución.

PHP no es un lenguaje "orientado a eventos" (y menos del lado del cliente) .. por eso en algunos casos desarrollos así no son posibles o tienen su margen de error con PHP.

Cualquier otro tipo de solución sería del "lado del cliente" .. algún ActiveX? técnicas de Ajax? .. tal vez que informe constantemente al servidor que el "cliente" sigue ahí .. Así ese "margen" de error sería menor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 00:28.