*Aplausos*
Che tu, bien que hay que usar el buscador, pero ahórrate comentarios como ese.
Tal y como ha dicho SoyJoaquin, usa time, utiliza en cada archivo, yo uso un mismo archivo para conectarme por todos, cosa que me da ventaja a la hora de hacer este tipo de cosas, cada vez que el usuario navegue por una categoria o refresque la misma pagina se le añada un tiempo a su campo "time" o como lo quieras llamar. Luego, en el archivo base de la web, donde todo el mundo se conecta, y asi se reproduce y ejecuta el codigo PHP que siempre esta, pones que si un usuario que tiene MENOS de ese TIME (al tener menos significa que no ha navegado mas por la web y no ha aumentado el tiempo) cambie su estado de online a offline (1 por 0).
*Aplausos*
Che tu, bien que hay que usar el buscador, peo ahorrate ese comentario...
Y digo lo mismo que tu, y aplaudo tu iniciativa de usar un archivo para conectar todos...
Vamos a ver, todos usamos un core donde metemos la información a la base de datos. Creo que ninguno de nosotros hacemos una conexión a la db por cada archivo.. xdddd
Otra cosa:
pones que si un usuario que tiene MENOS de ese TIME (al tener menos significa que no ha navegado mas por la web y no ha aumentado el tiempo) cambie su estado de online a offline (1 por 0).
Lol... Si haces esto de esta manera, el problema que te va a dar es que si todas las sessiones se pondrán offline...
Más que nada porque si ahora mismo el time es 21323123, dentro de un segundo será 21323124 con lo cual es menos y te pondrá off xdddd
Animus, lo que has de hacer es una funcion para restar tiempo, es decir:
Imaginate que queremos que si una persona no está presente en los últimos 10 minutos, se le ponga offline.
Hacemos esto:
60*10 = 600 con lo cual 10 minutos son 600 segundos..
Pues a la variable por ejemplo $diezminutos le asignamos 600, y creas la función con respeto a esto, por ejemplo:
En el config o el archivo en el cual se enlazan los demás debes hacer un UPDATE para que actualize el time() en el momento en que el usuario actualice la página.
Y despues pones la función para saber quien ha sigue online y quien no:
function Cambiarestado(){
//Seleccionamos todos los usuarios
$seleccionar_usuarios = mysql_query("Select * from usuario where id = '".$_SESSION['id']."'");
//Hacemos el bucle
while($usuarios = mysql_fetch_array($seleccionar_usuarios)){
//Asignamos el valor de 10 minutos en segundos, osea, 600.
$diezminutos = 600;
//Al tiempo guardado en cada columna "ultimaconexion" de la base de datos de usuarios, se le suma el valor $diezminutos.
$tiempo = $usuarios['ultimaconexion']+$diezminutos;
//Si el tiempo es igual o mayor que la variable, hacemos el update.
if($tiempo <= time()){
//Actualizamos el estado.
mysql_query("Update usuarios set estado = 'offline' where id = '".$usuarios['id']");
}
}
//FIN xd
}
A grandes rasgos creo que está bien.
Espero que esté bien jeje.