Foros del Web » Programando para Internet » Javascript »

inserción campos en bbdd al cerrar una ventana

Estas en el tema de inserción campos en bbdd al cerrar una ventana en el foro de Javascript en Foros del Web. Buenos días. Necesito que, cuando cierro una ventana de mi navegador, se inserte un 0 en mi BBDD. Expongo mejor la cuestión. Tengo en un ...
  #1 (permalink)  
Antiguo 17/09/2014, 04:26
 
Fecha de Ingreso: junio-2014
Mensajes: 101
Antigüedad: 10 años, 5 meses
Puntos: 0
inserción campos en bbdd al cerrar una ventana

Buenos días.

Necesito que, cuando cierro una ventana de mi navegador, se inserte un 0 en mi BBDD. Expongo mejor la cuestión.

Tengo en un .php un botón que me lleva a un segundo .php. Dentro de ese php, lo que tengo en primera instancia es introducir un 1 en un campo de mi BBDD, y después un <a href> a la url a la que quiero acceder, abriéndose una nueva ventana. Lo que quiero es que, al cerrar esa ventana, se inserte un 0 en la misma BBDD.

He visto que es posible crear funciones en javascript que notifiquen si has cerrado la ventana o no a partir de diferentes botones (abrir ventana, cerrar ventana, comprobar estado de la ventana). El problema es, que a mí el botón no me puede abrir directamente la ventana, ya que quiero que no sólo se abra, sino que me inserte algo en una bbdd, y no se si sería posible introducir código php dentro de javascript, por lo que estoy un poco atascada.

Si pudiérais aportarme alguna información, lo agradecería!
  #2 (permalink)  
Antiguo 17/09/2014, 04:45
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
Respuesta: inserción campos en bbdd al cerrar una ventana

Tienes que utilizar AJAX.

En el evento de cierre de una ventana (no se ahora exactamente cómo se llama) tienes que llamar a una función javascript que ejecute el código AJAX para guardar un 0 en la base de datos.
Básicamente necesita:
- Un archivo php que guarde un 0 en la base de datos.
- Un archivo js con la función que haga la llamada AJAX al archivo php
- Tu archivo html que llame a la función javascript en el evento de cierre de ventana.

Si sigues con dudas coméntalo y cuando tenga un minuto te cuento más cosas.
  #3 (permalink)  
Antiguo 17/09/2014, 05:09
 
Fecha de Ingreso: junio-2014
Mensajes: 101
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: inserción campos en bbdd al cerrar una ventana

La función si no me equivoco, es onUnload verdad?

No hay ninguna posibilidad de hacer esto únicamente con php? Es necesario AJAX en todo momento?

Muchas gracias.
  #4 (permalink)  
Antiguo 17/09/2014, 05:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: inserción campos en bbdd al cerrar una ventana

Cita:
No hay ninguna posibilidad de hacer esto únicamente con php?
PHP trabaja en servidor. JavaScript en Cliente (navegador).
Los eventos de navegador, tales como el cierre de ventanas o la navegación, son total y absolutamente invisibles para PHP.

Sin Ajax, lo que quieres es imposible.

Una posibilidad:
https://developer.mozilla.org/en-US/...onbeforeunload

Un ejemplo:
Código Javascript:
Ver original
  1. window.onbeforeunload = function(event) {
  2.  
  3.     event = event || window.event;
  4.  
  5.     var confirmClose = 'Are you sure?';
  6.  
  7.     // For IE and Firefox prior to version 4
  8.     if (event) {
  9.        event.returnValue = confirmClose;
  10.     }
  11.  
  12.     // For Safari
  13.     return confirmClose;
  14.  
  15. }

Cambia el alert() porlo que necesites.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/09/2014, 19:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: inserción campos en bbdd al cerrar una ventana

Movido a Javascript desde PHP.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 18/09/2014, 04:05
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
Respuesta: inserción campos en bbdd al cerrar una ventana

Cita:
Iniciado por elitown87 Ver Mensaje
La función si no me equivoco, es onUnload verdad?

No hay ninguna posibilidad de hacer esto únicamente con php? Es necesario AJAX en todo momento?

Muchas gracias.
Creo que la función es OnBeforeUnload
Me parece que la diferencia entre ambas es que la segunda puede recuperar datos de la ventana (pues aún no se ha cerrado) y la primera no. Corregidme si me equivoco

Etiquetas: bbdd, campos, cerrar, inserción, php, ventana
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:52.