Foros del Web » Programando para Internet » PHP »

Ejecutar código al cerrar web o el navegador

Estas en el tema de Ejecutar código al cerrar web o el navegador en el foro de PHP en Foros del Web. Hola a todos! Estoy analizando cómo montar una web con PHP. La idea es que, al entrar en la web, a cada usuario se le ...
  #1 (permalink)  
Antiguo 10/12/2013, 12:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Ejecutar código al cerrar web o el navegador

Hola a todos!

Estoy analizando cómo montar una web con PHP. La idea es que, al entrar en la web, a cada usuario se le asignará un didentificador de sesión. Así, la web tendrá un comportamiento distinto para cada uno de los usuarios que utilicen la web. Sería simliar a un carrito de la compra. Aunque la web es la misma, cada usuario tiene su propio carrito.

Bien, supongo que utilizando "session_id" ya tendría indentificado a cada usuario que accede. Lo siguiente sería registrarlo en base de datos ( insert del identificador de sesión ). Hasta aquí parece que todo está ligado. Pero, lo que me interesaría saber es cómo realizo el delete correspondiente al salir de la web, cerrar sesion o cerrar el navegador.

Es decir, al entrar a la web quiero insertar en una tabla un código con el identificador de sesión y, al salir de la web ( salir de la web, cerrar navegador, cerrar sesión ) me interesaría borrar ese código ya que no interesa para nada y puede provocar futuros problemas.

Mcuhas gracias por vuestro tiempo!
  #2 (permalink)  
Antiguo 10/12/2013, 12:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ejecutar código al cerrar web o el navegador

El asunto, es que el lenguaje de servidor (en este caso PHP) no se entera de si han cerrado el navegador, porque sencillamente no se ejecuta en el navegador.

Por otro lado, al cerrar sesión con PHP podrías usar el ID de la sesión como ya lo has dicho para eliminar dicho registro de la BD, ahí no hay duda.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/12/2013, 12:33
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Ejecutar código al cerrar web o el navegador

No puedes hacer que el cierre de una sesión dependa de que el usuario cierre correctamente el navegador.

Lo que deberías hacer es guardar en un campo de esa tabla, la fecha y hora del último movimiento realizado por el usuario. Por supuesto, cada llamada ajax o cambio de página debe actualizar ese campo.

Y para eliminar sesiones, lo harías por el tiempo transcurrido desde el último movimiento; por ejemplo, media hora.

Si un usuario "eliminado" en realidad estaba viendo porno, y vuelve a hacer algo en tu web, simplemente mándalo de nuevo al login.

Y ese "mantenimiento" de la tabla de sesiones debe hacerse siempre, en todas las peticiones de cualquier usuario al servidor, y antes de realizar cualquier acción.
  #4 (permalink)  
Antiguo 10/12/2013, 12:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Ejecutar código al cerrar web o el navegador

Vale. Entiendo que por lo que me dices no hay niguna manera de ejecutar código PHP al cerrar el navegador, o salir de la web
  #5 (permalink)  
Antiguo 10/12/2013, 12:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Ejecutar código al cerrar web o el navegador

Ok Marlanga perdona, justo estaba contestando a pateketrueke

Muchas gracias por la respuesta. Ahora miro a ver cómo ligar lo que me has dicho en mi análisis

Muchas gracias!!!
  #6 (permalink)  
Antiguo 10/12/2013, 12:37
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Ejecutar código al cerrar web o el navegador

Cuando un usuario cierra una pestaña correctamente, javascript puede hacer una petición ajax al servidor, sin esperar respuesta. Pero si apagas el ordenador, o se va la luz, o matas el proceso, desactivas javascript, o cualquier otro truco de las mil maneras de cerrar un navegador sin disparar ese evento, tu sistema no se enterará.

Etiquetas: cerrar, navegador, tabla, usuarios
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 12:05.