Ну, во-первых, нужно разобраться: "что есть онлайн"?
Пользователь онлайн, когда:
1. Он обновляет страницу или запрашивает новую
2. Он совершает действия на странице.
3. Вкладка активна.
В зависимости от того, что Вам нужно - далее нужная схема:
1. Сессия, куки, база и т.д.
2. Events & AJAX, web-sockets
3. AJAX + HTML5 Visibility API (
Demo)