Foros del Web » Programando para Internet » PHP »

actualizar Db Al Cerrar Un Navegador!!

Estas en el tema de actualizar Db Al Cerrar Un Navegador!! en el foro de PHP en Foros del Web. Ante todo saludos cordiales... Actualmente me encuentro desarrollando un sistema web pero no me gustaria que un usuario pueda accesar dos veces de maquinas distintas ...
  #1 (permalink)  
Antiguo 09/02/2008, 00:29
 
Fecha de Ingreso: noviembre-2007
Mensajes: 11
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta actualizar Db Al Cerrar Un Navegador!!

Ante todo saludos cordiales...

Actualmente me encuentro desarrollando un sistema web pero no me gustaria que un usuario pueda accesar dos veces de maquinas distintas al mismo momento (mientras tiene ya una sesión abierta en otra maquina)... para esto he creado una tabla de entradas de usuarios... donde al momento de ingresar al sistema a un campo en especifico de 'estatus' le asigo 'A' (Activo)... ok hasta ahi voy bien...

Al momento de que el usuario quiera accesar al sistema la idea es que verifiq en esa tabla de entradas que no se Encuentre activo....

implementé un codigo para poder cerrar la sesion por inactividad con cookies y funciona correctamente en estos casos antes de destruir la sesion... se puede actualizar la tabla de entradas al sistema y colocarle un estado inactivo para que este pueda volver a acceder....

mi pregunta es realmente esta:

"Al momento que el usuario cierre el navegador(control+f4) se destruye la sesión pero no actualiza la Base de Datos es decir el campo de la tabla 'entradas al sistema' como haria???"

me seria muy util sus respuestas... escucho opiniones... cuidense y muchas gracias de antemano estare esperando ancioso sus respuestas....

  #2 (permalink)  
Antiguo 09/02/2008, 08:59
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: [b]actualizar Db Al Cerrar Un Navegador!![/b]

Cita:
Iniciado por Saruman_Gandalf Ver Mensaje
Ante todo saludos cordiales...

implementé un codigo para poder cerrar la sesion por inactividad con cookies y funciona correctamente en estos casos antes de destruir la sesion... se puede actualizar la tabla de entradas al sistema y colocarle un estado inactivo para que este pueda volver a acceder....

No es lo que deseas hacer?
Otra solución seria programar mediante un Cronjob en tu panel de control de tu web, creas un script que despues de cierto tiempo cambie el estado de tus usuarios a inactivos.

Saludos.
  #3 (permalink)  
Antiguo 09/02/2008, 16:49
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Re: [b]actualizar Db Al Cerrar Un Navegador!![/b]

Bueno, hay una solución que a lo mejor no te va a gustar nada. Lo que pasa es que estás pidiendo una cosa absurda, pretendes ejecutar un codigo al momento de cerrar el navegador, pero bien debes saber que cuando cierras el navegador deja de funcionar todos los codigos, pero hay una solución, un truco, que a lo mejor no va a hacer como lo quisieras.

Bien, como es esta historia? Resulta que debes programar el evento onunload del body, debes usar ajax para eso, el truco está en que en la función del ajax, antes del final de la función debes hacer un alert con cualquier mensaje. Eso hará se ejecute el codigo php que se pide, si no haces el alert no se ejecutará el codigo php. Espero que te haya servido de algo mi participación.
  #4 (permalink)  
Antiguo 10/02/2008, 20:03
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
De acuerdo Re: actualizar Db Al Cerrar Un Navegador!!

Mira Saruman yo me tope con un problema similar al tuyo, pero mi sistema estaba hecho en Java, ahora bien en PHP se puede hacer eso pero tiene un precio, a continuacion te detallo la solucion.

En tu archivo html en la etiqueta body, introduce en el evento onUnload un codigo que te haga abrir una ventana popup, y en ella llevas acabo el desbloqueo en la base de datos

aqui un ejemplo:

Código:
<script language="javascript">
  function cerrarSesion(){
     /*en esta seccion es en donde llamarias a tu script php que se encargaria de 
        de actualizar la base de datos, abriendo el scrip en una ventana popup*/
  }
</script>
<body onUnload="cerrarSesion()" >
El evento onUnload se lleva acabo cuando se cierra la ventana del navegador, por ese motivo cuando tu cierres la ventana el evento onUnload llamara al método cerrarSesion y este se encargara de llamar a tu script php para que actualize tu base de datos. Espero que te haya ayudado en tu problema, cual duda me puedes contactar a mi msn.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 19:59.