Foros del Web » Programando para Internet » PHP »

Cerrar sesion y almacenar en una base de datos

Estas en el tema de Cerrar sesion y almacenar en una base de datos en el foro de PHP en Foros del Web. Buen día para todos. Tengo que hacer un programa que haga un seguimiento al usuario, por ejemplo al momento de loguearse debo guardar en una ...
  #1 (permalink)  
Antiguo 07/09/2012, 14:02
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 13 años, 4 meses
Puntos: 2
Cerrar sesion y almacenar en una base de datos

Buen día para todos.

Tengo que hacer un programa que haga un seguimiento al usuario, por ejemplo al momento de loguearse debo guardar en una base de datos la hora, la fecha en que ingreso al sistema.

El problema es el siguiente:

Como hago para almacenar el registro en la base de datos cuando el usuario cierra sesión, pero este no lo hace de la manera normal sino que cierra el navegador sin haber cerrado sesión en el programa.

Espero que me colaboren. Muchas gracias.
  #2 (permalink)  
Antiguo 07/09/2012, 16:43
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 13 años, 5 meses
Puntos: 56
Respuesta: Cerrar sesion y almacenar en una base de datos

Pon al forma en que lo estas intentando.

Prueba una condicion que al ejecutarse session_destroy se ejecute una consulta que guarde la variable que quieras.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #3 (permalink)  
Antiguo 07/09/2012, 16:48
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Cerrar sesion y almacenar en una base de datos

Cita:
Iniciado por CesarHC Ver Mensaje
Pon al forma en que lo estas intentando.

Prueba una condicion que al ejecutarse session_destroy se ejecute una consulta que guarde la variable que quieras.
mmmm.. no creo que eso funcione ya que el usuario cerró el navegador y no la session, yo creo que tendría que guardar un registro de la fecha y hora en que el user, entra a cada sección del sitio, luego con un cron que se ejecute cada determinado tiempo, controlar si ha pasado el tiempo de caducidad, por ejemplo el cron recorre la tabla users y verifica la ultima actividad del usuario y si ha pasado determinado tiempo le cierra la sesión, el problema va a ser que las sesiones deberán se controladas desde la base de datos , (también con variables de session), habría que estudiarlo bien al tema
__________________
la la la
  #4 (permalink)  
Antiguo 07/09/2012, 17:39
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 13 años, 4 meses
Puntos: 2
Respuesta: Cerrar sesion y almacenar en una base de datos

Cita:
Iniciado por truman_truman Ver Mensaje
mmmm.. no creo que eso funcione ya que el usuario cerró el navegador y no la session, yo creo que tendría que guardar un registro de la fecha y hora en que el user, entra a cada sección del sitio, luego con un cron que se ejecute cada determinado tiempo, controlar si ha pasado el tiempo de caducidad, por ejemplo el cron recorre la tabla users y verifica la ultima actividad del usuario y si ha pasado determinado tiempo le cierra la sesión, el problema va a ser que las sesiones deberán se controladas desde la base de datos , (también con variables de session), habría que estudiarlo bien al tema
Muchas gracias por responder.

Lo que usted plantea es cerrar sesión por inactividad es decir a cierto tiempo se cierre dicha sesión, me gustaría si hay otra manera de hacer lo que planteé .

Muchas gracias.
  #5 (permalink)  
Antiguo 07/09/2012, 17:47
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Cerrar sesion y almacenar en una base de datos

La única forma que se me ocurre es activar un evento de javascript que al cerrar la ventana envíe la información mediante AJAX, pero es una cosa bastante molesta para la mayoría de los mortales. La única forma limpia de hacerlo es por inactividad (no hace falta que sea por un cron).
  #6 (permalink)  
Antiguo 07/09/2012, 19:30
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 13 años, 4 meses
Puntos: 2
Respuesta: Cerrar sesion y almacenar en una base de datos

Cita:
Iniciado por Bonez Ver Mensaje
La única forma que se me ocurre es activar un evento de javascript que al cerrar la ventana envíe la información mediante AJAX, pero es una cosa bastante molesta para la mayoría de los mortales. La única forma limpia de hacerlo es por inactividad (no hace falta que sea por un cron).
Muchas gracias por contestar.

Yo ya lo intenté con el evento llamado onbeforeunload pero como usted dice es muy molesto. Porque este evento me captura cuando el usuario actualiza la página, cuando el usuario se sale de la página o cuando el usuario cierra el navegador y no se como utilizarlo para que me capture solamente cuando se cierra el navegador.

Hay otro evento que se llama unload pero este no sirve para google chrome.

Si tienes el código para utilizarlo con AJAX me gustaría mucho que lo compartiera.
  #7 (permalink)  
Antiguo 08/09/2012, 05:07
 
Fecha de Ingreso: febrero-2011
Mensajes: 55
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Cerrar sesion y almacenar en una base de datos

mirate esto

http://www.desarrolloweb.com/articulos/2022.php

y esto tmb

http://miulertec.net/cierre-de-sesio...egador-en-php/

Etiquetas: almacenar, cerrar, registro, 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 22:38.