Ahoi necesitas obligatoriamente un lenguaje de servidor, ya sea, php, asp, aspx, perl, jsp, coldFusion, etc, lo que hacen estos lenguajes es crear cntenido dinamico
Lo que necesitarias es crear una base de datos o lo que tu quierasque refleje una libreta de usuarios, de ahi, deberias poiner los campos básicos
alias
password
ultimoAcceso
donde el alias y el password te ayudaran para iniciar sesión, mientras que ultimoAcceso te servirá para saber si está en linea o no.... te preguntaras ¿¿¿como???
Lo que la mayoria de los sitios hacen es guardar la fecha de ultimo acceso y comparar el tiempo transcurrido entre el ultimoAcceso y la fecha actual, si la diferencia es menor de algunos minutos entonces se dice que el usuario esta en linea, cada ves que el usuario hace una peticion al servidor, esta fecha se actualiza, de tal modo que si sigue haceindo peticiones pues la fecha estara vigente y por ende el servidor comparará la fecha de acceso y la fecha actual y validará el tiempo transcurrido, si pasan mas de 15 minutos (le puedes poner los minutos que tu quieras) entonces se dice que el usuario esta desconectado
es importante codificar la fecha en un formato estandar, te recomiendo que uses el ISO8601 que es como lo siguiente
YYYY-MM-DDTHH:MM:SS en pocas palabras
2008-26-10T15:35:12
si observas bien, te daras cuenta que primero esta la fecha y despues la hora, de ahi harias tu comparacion, el problemita seria la comparacion no???
bueno entonces si esto se te dificulta mucho puedes usar algo estandar que es el tiempo en milisegundos a partir de 1970 que fue el inicio de la era de los ordenadores
esto te retornara un numerote de aprox 20 posiciones, y como sera un nuemero entero lo unico que debes saber es cuantos milisegundos tiene un minuto y multiplicarlo por el tiempo de tolerancia que te comentaba
si la fecha actual menos la fecha de ultimoAcceso es mayor que 15 minutos pasados a milisegundos.... pues es un usuario offLine!!!
Espero haberme expresado bien a tal manera de que me hayas entendido, no te di una solucion en concreto porque no mencionas en que lenguaje lo vas a trabajar, si te decides por Java o PHP estoy para ayudarte!
Yo recomiendo Java!
Exito! Saludos!!