Цитата:
По результатам дополнительной диагностики было установлено, что некорректное отображение информации, выдаваемой указанным Вами скриптом, вызвано ошибкой в коде этого скрипта. Ошибка вызвана некорректным написанием скрипта, а также несоответствием кода скрипта и структуры таблицы базы данных. Происходит удаление записей из таблицы базы данных без учета страницы с которой происходит вызов этого скрипта. В результате информация о посещениях очищается для всех страниц, а не только для вызванной страницы.
Это рабочий код. Очень удобный. Считает не просто сколько онлайн, а сколько онлайн на конкретной странице сайта. Но видимо где-то ошибка.
Вот код:
CODE:
<?
$server = "***.mysql";
$db_user = "***_mysql";
$db_pass = "***";
$db = "***_2";
$to_secs = 60;
$t_stamp = time();
$timeout = $t_stamp - $to_secs;
mysql_connect($server, $db_user, $db_pass);
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','$REMOTE_ADDR','$PHP_SELF')");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'");
$user = mysql_num_rows($result);
mysql_close();
echo "Эту страницу читают: <b>$user</b> чел.";
?>
$server = "***.mysql";
$db_user = "***_mysql";
$db_pass = "***";
$db = "***_2";
$to_secs = 60;
$t_stamp = time();
$timeout = $t_stamp - $to_secs;
mysql_connect($server, $db_user, $db_pass);
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','$REMOTE_ADDR','$PHP_SELF')");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'");
$user = mysql_num_rows($result);
mysql_close();
echo "Эту страницу читают: <b>$user</b> чел.";
?>
Это SQL запрос для создания таблиц:
CODE:
CREATE TABLE CJ_UsersOnline (
timestamp int(15) NOT NULL default '0',
ip varchar(40) NOT NULL,
FILE varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY FILE (FILE)
) TYPE=MyISAM
timestamp int(15) NOT NULL default '0',
ip varchar(40) NOT NULL,
FILE varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY FILE (FILE)
) TYPE=MyISAM
Помогите пожалуйста найти ошибку.