Добрый день!
У меня на сайте такой код - сколько в онлайн и общее количество посетителей. Но проблема в том, что если через роутер работает 20 компьютеров, то считет толко один (сам адрес роутера).
В этом коде можно исправить эту проблему? Или все таки радикально другой код нужен?
(Моя цель - сохранить ежедневние информации о посетителей, то есть БД контролирую я)
function online () {
$ip=getenv("HTTP_X_FORWARDED_FOR");
if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); }
mysql_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 600") or die ("Can't delete old sess");
$select = mysql_query ("SELECT ip FROM online WHERE ip='$ip'") or die ("Can't select duble");
$tmp = mysql_fetch_row ($select);
if ($ip == $tmp[0]) {
mysql_query ("UPDATE online SET time=NOW() WHERE ip='$ip'") or die ("Can't update");
} else {
mysql_query ("INSERT INTO online (ip,time) VALUES ('$ip',NOW())") or die ("Can't insert");
}
$select = mysql_query ("SELECT COUNT(*) FROM online") or die ("Can't select result");
$tmp = mysql_fetch_row ($select);
$result = $tmp[0];
return $result;
}
echo online();
Спасибо заранее