Foros del Web » Programando para Internet » PHP »

Autodesconexion de Usuarios

Estas en el tema de Autodesconexion de Usuarios en el foro de PHP en Foros del Web. Hola buenos días, Me comunico con ustedes para solicitarles ayuda en un problema, en mi web tengo usuarios los cuales se conectan y automáticamente por ...
  #1 (permalink)  
Antiguo 23/07/2015, 14:38
 
Fecha de Ingreso: enero-2015
Ubicación: Uruguay
Mensajes: 9
Antigüedad: 9 años, 3 meses
Puntos: 0
Pregunta Autodesconexion de Usuarios

Hola buenos días,
Me comunico con ustedes para solicitarles ayuda en un problema, en mi web tengo usuarios los cuales se conectan y automáticamente por medio de php y mysql puedo saber quien esta online.
Ahora, cuando estos dejan de usar la web por unos 8m la web cuando intenten hacer algo los desconecta, hasta ahí todo bien pero el problema surge cuando ellos cierran el navegador (o pestaña) o suspenden la pc.
El sistema no los desconecta, por lo tanto cuando reviso quien esta online siguen conectados.
No tengo mucha idea de como solucionar el problema, cualquier ayuda es bienvenida. Muchas Gracias
  #2 (permalink)  
Antiguo 23/07/2015, 16:09
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Autodesconexion de Usuarios

Podrías colocar una cookie con límite de tiempo.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 23/07/2015, 16:11
 
Fecha de Ingreso: enero-2015
Ubicación: Uruguay
Mensajes: 9
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Autodesconexion de Usuarios

como podria hacer eso? es en php? Gracias
  #4 (permalink)  
Antiguo 23/07/2015, 16:16
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Autodesconexion de Usuarios

Mira esto: Cookies

El parámetro se llama expire y ahí puedes determinar cuánto tiempo quieres que permanezca activa.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #5 (permalink)  
Antiguo 23/07/2015, 16:30
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Autodesconexion de Usuarios

Mira este que está mejor http://www.desarrolloweb.com/articulos/1991.php
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #6 (permalink)  
Antiguo 23/07/2015, 16:36
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Autodesconexion de Usuarios

al iniciar la sesion
Código PHP:
Ver original
  1. $_SESSION['start'] = time();
  2. $_SESSION['expire'] = $_SESSION['start'] + (1*60); //tiempo que dura la sesion

en las paginas:
Código PHP:
Ver original
  1. if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true)
  2.     {
  3.     echo "Bienvenido ".$_SESSION['MM_Username'];
  4.  
  5.     }
  6.     else
  7.     {
  8.     echo "<br/>" . "Esta pagina es solo para usuarios registrados." . "<br/>";
  9.     echo "<br/>" . "<a href='test5.php'>Login Here!</a>";
  10.      
  11.     exit;
  12.     }
  13.     $now = time();
  14.    
  15.     if($now > $_SESSION['expire'])
  16.     {
  17.         session_destroy();
  18.         echo "<br><br>";
  19.         echo "Su sesion a expirado, <a href='test5.php'>Loging</a>";
  20.         exit;
  21.     }
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 23/07/2015, 16:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Autodesconexion de Usuarios

al iniciar la sesion
Código PHP:
Ver original
  1. $_SESSION['start'] = time();
  2. $_SESSION['expire'] = $_SESSION['start'] + (1*60); //tiempo que dura la sesion

en las paginas:
Código PHP:
Ver original
  1. if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true)
  2.     {
  3.     echo "Bienvenido ".$_SESSION['MM_Username'];
  4.  
  5.     }
  6.     else
  7.     {
  8.     echo "<br/>" . "Esta pagina es solo para usuarios registrados." . "<br/>";
  9.     echo "<br/>" . "<a href='test5.php'>Login Here!</a>";
  10.      
  11.     exit;
  12.     }
  13.     $now = time();
  14.    
  15.     if($now > $_SESSION['expire'])
  16.     {
  17.         session_destroy();
  18.         echo "<br><br>";
  19.         echo "Su sesion a expirado, <a href='test5.php'>Loging</a>";
  20.         exit;
  21.     }
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 23/07/2015, 17:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Autodesconexion de Usuarios

El proceso es más o menos simple, puesto que ya tienes una tabla donde puedes saber quién está en línea.

1- Agrega un campo en tu tabla para almacenar la última actividad del usuario
2- Cuando generas la consulta, busca los usuarios que están conectados y su última actividad es mayor que (fecha y hora actual - x minutos)

Esto es más efectivo que tratar de detectar cuando se cierra una ventana, cosa que tendrías que hacer con Javascript y no es tan confiable.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysql, 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 20:34.