Witam. Stwórz w BD tablicę users_online z polami o nazwach kolejno: sid, time, dag (varchar(100), varchar(15), varchar(3)). Ja to wykombinowałem kiedyś tak:
<?php
$nu = time()-180; // sprawdza aktywnych userow w ciagu ostatnich 3 minut (180 sekund)
$sid_check = mysql_query("SELECT count(*) FROM users_online WHERE SID='$SID';");
$visits_counter = config("visits_counter")+1; // u mnie config("visits_counter") wyciaga z bazy stary stan licznika - do przerobienia
{
mysql_query("INSERT INTO users_online VALUES ('$SID', '$time', '$dag');"); config_update("visits_counter", $visits_counter); // u mnie config_update("visits_counter", $visits_counter); zapisuje do bazy nowy stan licznika
}
else
{
mysql_query("UPDATE users_online SET time='$time' WHERE SID='$SID';"); }
$count_users = mysql_query("SELECT count(*) FROM users_online WHERE (time>'$nu') AND (day='$dag');");
mysql_query("DELETE FROM users_online WHERE time<'$nu';"); mysql_query("DELETE FROM users_online WHERE day<>'$dag';"); ?>
No i tym sposobem w $users_online_counter masz ilość userów online a w $visits_counter ilość odwiedzin. Kod może nie jest genialny ale działa. Pozdrawiam.