Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/10/2008, 08:13
Avatar de wpersei
wpersei
 
Fecha de Ingreso: septiembre-2006
Ubicación: Bogota
Mensajes: 189
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: como saber si un usuario se encuentra conectado en una aplicacion php

Cita:
Iniciado por aeloco Ver Mensaje
Yo lo hago así:

Código PHP:
$fichero "usuarios.txt";
$logout900;
$IP $_SERVER['REMOTE_ADDR'];
$cont 0;
$res '';
$fp fopen($fichero"r");
$t time();
if (
filesize($fichero) > 0$content fread($fpfilesize($fichero));
fclose($fp);
$lineas split(" "$content);
for(
$i 0$i count($lineas); $i++) {
    
$datos split(':'$lineas[$i]);
    
$n $t $logout;
    if (
$datos[0] != $IP && $datos[1] > ($n)) {
        
$res .= "$datos[0]:$datos[1] ";
        
$cont++;
    }
}
$res .= "$IP:$t ";
$cont++;
$fp fopen($fichero"w");
fwrite ($fp$res);
fclose($fp);
echo 
"Usuarios conectados: $cont"
Tienes que tener creado el fichero "usuarios.txt" y con permisos de escritura.

Desventaja: Como cuenta por IP, si tienes varios usuarios conectados mediante un proxy te los cuenta como uno sólo.

Suerte
pues afortunadamente mi aplicación cuenta con su base de datos en postgres y en realidad cada usuario tiene su nombre de usuario y clave, la cuestión es que no se como hacer para saber quien se encuentra conectado, yo había pensado en un campo booleano que valide si un usuario se encuentra conectado o no y que sea true cuando este se loguea, pero el problema es cuando ya no esta logueado, o cuando simplemente cierra la ventana del navegador


gracias por responder