HTTP не имеет состояния, поэтому определение «онлайн-пользователь» отсутствует. Вы могли бы считать количество созданных вами неразрушенных сеансов, но если у вас нет задания cron, которое уничтожает старые сеансы, это не даст точную картину.
В основном вам нужно решить, сколько времени без запроса новой страницы считается «онлайн», и запросить сеансы, которые были обновлены за этот промежуток времени.