Foros del Web » Programando para Internet » PHP »

¿Como grabar un registro en MySQL cuando abandonamos la página?

Estas en el tema de ¿Como grabar un registro en MySQL cuando abandonamos la página? en el foro de PHP en Foros del Web. Hola a todos: estoy preparando una página para hacer ejercicios sobre un temario. Como el número de preguntas es muy alto y el alumno no ...
  #1 (permalink)  
Antiguo 09/03/2009, 15:26
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
¿Como grabar un registro en MySQL cuando abandonamos la página?

Hola a todos: estoy preparando una página para hacer ejercicios sobre un temario. Como el número de preguntas es muy alto y el alumno no siempre contesta el mismo número de preguntas pretendo grabar el número de preguntas contestadas y los aciertos en esas preguntas cuando el alumno termine de hacer el ejercicio. De esta forma evito tener que grabar en la base de datos cada vez que el alumno contesta a una pregunta.

Si el alumno deja la página a través de uno de los enlaces que hay en la página no tengo problema, puedo guardar una variable que diga, cuando entre en la nueva página, si se ha grabado el ejercicio y en caso de no haberse grabado ejecutamos una rutina que graba la entrada en la base de datos.

El problema surge cuando el alumno no sale de la página a través de los enlaces que existen en la página sino que pincha en el botón atrás o teclea una dirección externa a la web en el navegador. En este caso no habría comprobación de la grabación del registro y no quedaría grabado el ejercicio realizado.

¿Alguien me puede ayudar? ¿Qué rutina debo poner en la web para que grabe los datos en el caso de dar al boton atrás o teclear otra dirección?

Espero vuestras respuestas y agradezco de antemano vuestra colaboración. Saludos
  #2 (permalink)  
Antiguo 09/03/2009, 15:31
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 9 meses
Puntos: 35
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

A mi me suena a EVENTOS los cuales son territorio de JavaScript!!
  #3 (permalink)  
Antiguo 09/03/2009, 16:50
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

Puedes mostrar un cartel de alerta en javascript que advierta que se perderán los cambios si se abandona la página. Aceptar/Cancelar

PHP no puede actuar en el evento "al cerrar la ventana"
  #4 (permalink)  
Antiguo 10/03/2009, 03:11
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

si eso es javascript......
  #5 (permalink)  
Antiguo 10/03/2009, 03:52
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

Con javascript, puedes detectar cuando se abandona la página. Entonces, deberías hacer una llamada ajax a un script php que trabaje con MySQL.

Un saludo
  #6 (permalink)  
Antiguo 10/03/2009, 14:23
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

Gracias a todos por vuestra colaboración. Ha sido de gran ayuda. Tendré que pensar en JS en vez de pensar en PHP. Es mi eterno desconocido pero probaré a aprenderlo.

Lo dicho, muchas gracias.
  #7 (permalink)  
Antiguo 10/03/2009, 16:42
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

Javascript no es dificil al principio lo ves un poco complicado porque n osabes de donde vienes las variables como me pasaba a mi

suerte.
  #8 (permalink)  
Antiguo 10/03/2009, 17:04
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: ¿Como grabar un registro en MySQL cuando abandonamos la página?

Debes utilizar javascript el evento es unload
te dejo un enlace
www . gamarod . com . ar/javascript/evento_unload_javascript . asp
Bueno espacie la url pues no cumpli los 30 mensajes
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 17:51.