Det kan da sagtens lade sig gøre i PHP!
Lav et felt i brugertabellen der hedder 'tid online' gør den til INT.
På hvert eneste dokument og hver eneste side, laver du så noget PHP kode, der tager time() og sætter det ind i dette felt og erstatter det gamle. Det vil sige at uanset om man opdaterer siden 10 sekunder senere, eller 3 timer, vil den pågældende tid stadig indgå i databasen. men FØRST når siden opdateres eller en anden side med samme kode indlæses.
på din side der skal vise brugerens antal online tid, behandler du bare data ved at hente den rå time() data ud af databasen, og formaterer med date(). Altså noget i stil med:
echo date("H", $tid_fra_feltet);
Håber det kan hjælpe dig.