|
|
|
|
|
для: Loki
(07.07.2005 в 12:46)
| | Кажись вспомнил: такая бага вроде была когда небыло ни одного захода за отчетный период. У себя я правил, а у вас, похоже, осталась старая версия. У меня сейчас этот фрагмент выглядит так:
<?
if (isset($pages))
{
$points=array_count_values($pages);
//Сортируем по количесву входов в обратном порядке
arsort($points);
//Выводим таблицу где будет название страницы и количество заходов через нее
foreach ($points as $id=>$hits)
{
foreach ($names as $id2=>$name)
{
if ($id==$id2)
{
print "<tr><td><a href=http://".$_SERVER["SERVER_NAME"].$names[$id]['name']." target=_blank>http://".$_SERVER["SERVER_NAME"].$names[$id]['name']." </a></td><td>".$hits."</td><tr>";
}
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Agronom
(07.07.2005 в 12:25)
| | Попробуйте перед циклом вывести на экран содержимое массивов $points и $names:
print_r ($points);
print_r ($names);
|
| |
|
|
|
|
|
|
|
для: Agronom
(07.07.2005 в 12:25)
| | Именно в 133 строке - у вас файл изменён? Прикрепите его пожалуйста к сообщению. | |
|
|
|
|
|
|
|
для: Agronom
(03.07.2005 в 20:52)
| | Вот я дошел до раздела "Точки входа" на что у меня отображаются страницы, но вверху браузер выдает ошибку:
Warning: Invalid argument supplied for foreach() in i:\home\localhost\www\users\ros\admin\count\enterpoint.php on line 133
|
Что бы это могло быть, помогите пожалуйста разобраться.
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Agronom
(02.07.2005 в 22:25)
| | Конечно же дело в моей таблице!
Оказывается в новой версии поменялись названия полей
system > systemS
browser > browserS
search > searchES
Эх моя невнимательность ... | |
|
|
|
|
|
|
|
для: cheops
(02.07.2005 в 21:35)
| | По крайней мере записывается теперь все хорошо.
Вот структура таблицы ip
CREATE TABLE 'ip' (
'id_ip' int(32) NOT NULL auto_increment,
'ip' text,
'putdate' datetime default NULL,
'id_page' int(10) default NULL,
'browser' text,
'system' text,
'search' text,
PRIMARY KEY ('id_ip')
) TYPE=MyISAM
|
| |
|
|
|
|
|
|
|
для: Agronom
(02.07.2005 в 20:53)
| | А не может быть опять проблем с базой данных? Не могли бы вы привести структуру таблицы ip в базе счётчика? | |
|
|
|
|
|
|
|
для: Agronom
(01.07.2005 в 23:29)
| | Вот я столкнулся со следующей проблемой - Хосты и Хиты:
Вместо отображение страницы мне браузер выдает:
SELECT COUNT(*) FROM ip WHERE searches != 'own_site' AND putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '0' DAY AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '1' DAY
SELECT COUNT(*) FROM ip WHERE putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '0' DAY AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '1' DAY
SELECT COUNT(DISTINCT ip) FROM ip WHERE systems != 'none' AND systems != 'robot_yandex' AND systems != 'robot_google' AND systems != 'robot_rambler' AND systems != 'robot_aport' AND systems != 'robot_msnbot' AND putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '0' DAY AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '1' DAY
SELECT COUNT(DISTINCT ip) FROM ip WHERE putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '0' DAY AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '1' DAY
Fatal error: Call to undefined function: puterror() in i:\home\localhost\www\users\ros\admin\count\utils.php on line 70
|
Как будто не стоит где-то <? ?>
Вот сам код файла utils.php может там где-нибудь ошибка, хотя я его не трогал:
<?php
function show_ip_host($begin,$end,$id_page)
{
if($id_page == "") $tmp_page = "";
else $tmp_page = " AND id_page=$id_page";
$tmp1 = "putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '$end' DAY";
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '".$begin."' DAY";
$end = $tmp1.$tmp2.$tmp_page;
$query_hit = "SELECT COUNT(*) FROM ip
WHERE searches != 'own_site' AND ".$end;
$query_total_hit = "SELECT COUNT(*) FROM ip WHERE ".$end;
$query_host = "SELECT COUNT(DISTINCT ip) FROM ip
WHERE systems != 'none' AND
systems != 'robot_yandex' AND
systems != 'robot_google' AND
systems != 'robot_rambler' AND
systems != 'robot_aport' AND
systems != 'robot_msnbot' AND
".$end;
$query_total_host = "SELECT COUNT(DISTINCT ip) FROM ip WHERE ".$end;
$pht = mysql_query($query_hit);
$tot = mysql_query($query_total_hit);
$hst = mysql_query($query_host);
$tht = mysql_query($query_total_host);
if($pht && $tot && $hst && $tht)
{
$hosts = mysql_result($hst, 0);
$totalhosts= mysql_result($tht, 0);
$hits = mysql_result($pht, 0);
$totalhist = mysql_result($tot, 0);
return array($hosts, $hits, $totalhist, $totalhosts);
}
else
{
echo $query_hit."<br>";
echo $query_total_hit."<br>";
echo $query_host."<br>";
echo $query_total_host."<br>";
puterror("Ошибка при обращении к таблице IP-адресов");
}
}
сайта
function show_ip_host_hour($begin,$end,$day,$id_page)
{
if($id_page == "") $tmp_page = "";
else $tmp_page = " AND id_page=$id_page";
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate >= date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00') + interval '$end' hour";
$tmp1 = "putdate < date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00') + interval '$begin' hour";
$end = $tmp1.$tmp2.$tmp_page;
$query_hits = "SELECT COUNT(*) FROM ip WHERE searches!='own_site' AND ".$end;
$query_total = "SELECT COUNT(*) FROM ip
WHERE ".$end;
$query_host = "SELECT COUNT(DISTINCT ip) FROM ip
WHERE systems != 'none' AND
systems != 'robot_yandex' AND
systems != 'robot_google' AND
systems != 'robot_rambler' AND
systems != 'robot_aport' AND
systems != 'robot_msnbot' AND
".$end;
$total_host = "SELECT COUNT(DISTINCT ip) FROM ip
WHERE ".$end;
$pht = mysql_query($query_hits);
$tot = mysql_query($query_total);
$hst = mysql_query($query_host);
$tht = mysql_query($total_host);
if($pht && $tot && $hst && $tht)
{
$hosts = mysql_result($hst, 0);
$totalhosts= mysql_result($tht, 0);
$hits = mysql_result($pht, 0);
$totalhist = mysql_result($tot, 0);
return array($hits, $hosts, $totalhist, $totalhosts);
} else puterror("Ошибка при обращении к таблице IP-адресов");
}
function utf8_win($s)
{
$s=str_replace("\xD0\xB0","а",$s); $s=str_replace("\xD0\x90","А",$s);
$s=str_replace("\xD0\xB1","б",$s); $s=str_replace("\xD0\x91","Б",$s);
$s=str_replace("\xD0\xB2","в",$s); $s=str_replace("\xD0\x92","В",$s);
$s=str_replace("\xD0\xB3","г",$s); $s=str_replace("\xD0\x93","Г",$s);
$s=str_replace("\xD0\xB4","д",$s); $s=str_replace("\xD0\x94","Д",$s);
$s=str_replace("\xD0\xB5","е",$s); $s=str_replace("\xD0\x95","Е",$s);
$s=str_replace("\xD1\x91","ё",$s); $s=str_replace("\xD0\x81","Ё",$s);
$s=str_replace("\xD0\xB6","ж",$s); $s=str_replace("\xD0\x96","Ж",$s);
$s=str_replace("\xD0\xB7","з",$s); $s=str_replace("\xD0\x97","З",$s);
$s=str_replace("\xD0\xB8","и",$s); $s=str_replace("\xD0\x98","И",$s);
$s=str_replace("\xD0\xB9","й",$s); $s=str_replace("\xD0\x99","Й",$s);
$s=str_replace("\xD0\xBA","к",$s); $s=str_replace("\xD0\x9A","К",$s);
$s=str_replace("\xD0\xBB","л",$s); $s=str_replace("\xD0\x9B","Л",$s);
$s=str_replace("\xD0\xBC","м",$s); $s=str_replace("\xD0\x9C","М",$s);
$s=str_replace("\xD0\xBD","н",$s); $s=str_replace("\xD0\x9D","Н",$s);
$s=str_replace("\xD0\xBE","о",$s); $s=str_replace("\xD0\x9E","О",$s);
$s=str_replace("\xD0\xBF","п",$s); $s=str_replace("\xD0\x9F","П",$s);
$s=str_replace("\xD1\x80","р",$s); $s=str_replace("\xD0\xA0","Р",$s);
$s=str_replace("\xD1\x81","с",$s); $s=str_replace("\xD0\xA1","С",$s);
$s=str_replace("\xD1\x82","т",$s); $s=str_replace("\xD0\xA2","Т",$s);
$s=str_replace("\xD1\x83","у",$s); $s=str_replace("\xD0\xA3","У",$s);
$s=str_replace("\xD1\x84","ф",$s); $s=str_replace("\xD0\xA4","Ф",$s);
$s=str_replace("\xD1\x85","х",$s); $s=str_replace("\xD0\xA5","Х",$s);
$s=str_replace("\xD1\x86","ц",$s); $s=str_replace("\xD0\xA6","Ц",$s);
$s=str_replace("\xD1\x87","ч",$s); $s=str_replace("\xD0\xA7","Ч",$s);
$s=str_replace("\xD1\x88","ш",$s); $s=str_replace("\xD0\xA8","Ш",$s);
$s=str_replace("\xD1\x89","щ",$s); $s=str_replace("\xD0\xA9","Щ",$s);
$s=str_replace("\xD1\x8A","ъ",$s); $s=str_replace("\xD0\xAA","Ъ",$s);
$s=str_replace("\xD1\x8B","ы",$s); $s=str_replace("\xD0\xAB","Ы",$s);
$s=str_replace("\xD1\x8C","ь",$s); $s=str_replace("\xD0\xAC","Ь",$s);
$s=str_replace("\xD1\x8D","э",$s); $s=str_replace("\xD0\xAD","Э",$s);
$s=str_replace("\xD1\x8E","ю",$s); $s=str_replace("\xD0\xAE","Ю",$s);
$s=str_replace("\xD1\x8F","я",$s); $s=str_replace("\xD0\xAF","Я",$s);
return $s;
}
function search($begin,$end,$id_page)
{
if($id_page == "") $tmp = "";
else $tmp = " AND id_page = $id_page";
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '$begin' DAY";
$tmp1 = "AND putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '$end' DAY";
$begin = "SELECT COUNT(*) FROM refferer WHERE searches =";
$end = $tmp1.$tmp2.$tmp;
$query['ynd'] = $begin."'yandex' ".$end;
$query['ram'] = $begin."'rambler' ".$end;
$query['gog'] = $begin."'google' ".$end;
$query['apt'] = $begin."'aport' ".$end;
$query['mal'] = $begin."'mail' ".$end;
$query['msn'] = $begin."'msn' ".$end;
foreach($query as $search => $value)
{
$hit["$search"] = mysql_query($value);
if(!$hit["$search"]) puterror("Ошибка при обращении к таблице IP-адресов");
$hits["$search"] = mysql_result($hit["$search"], 0);
}
$total = array_sum($hits);
if($total == 0) $total = 1;
return array($hits['ram'], $hits['ynd'], $hits['apt'], $hits['gog'], $hits['mal'], $hits['msn'], $total);
}
function search_hour($begin,$end,$day,$id_page)
{
if($id_page == "") $tmp = "";
else $tmp = " AND id_page = $id_page";
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate>=date_add(date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00'),interval '$end' hour)";
$tmp1 = " AND putdate<date_add(date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00'),interval '$begin' hour)";
$begin = "SELECT COUNT(*) FROM refferer WHERE searches =";
$end = $tmp1.$tmp2.$tmp;
$query['ynd'] = $begin."'yandex' ".$end;
$query['ram'] = $begin."'rambler' ".$end;
$query['gog'] = $begin."'google' ".$end;
$query['apt'] = $begin."'aport' ".$end;
$query['mal'] = $begin."'mail' ".$end;
$query['msn'] = $begin."'msn' ".$end;
// Выполняем SQL-запросы
foreach($query as $search => $value)
{
$hit["$search"] = mysql_query($value);
if(!$hit["$search"]) puterror("Ошибка при обращении к таблице IP-адресов");
$hits["$search"] = mysql_result($hit["$search"], 0);
}
$total = array_sum($hits);
// Во избежание деления на 0 проверяем значение общего $total
if($total == 0) $total = 1;
return array($hits['ram'], $hits['ynd'], $hits['apt'], $hits['gog'], $hits['mal'], $hits['msn'], $total);
}
?>
|
| |
|
|
|
|
|
|
|
для: Agronom
(01.07.2005 в 21:36)
| | Ура вроде разобрался!
У меня в таблицах оказывается тип полей был неправильно определен, надо int а у меня стоял tinyint !
Извините меня пожалуйста, что доставил Вам столько неудобств! Ошибка была оказывается в другом :) | |
|
|
|
|
|
|
|
для: cheops
(01.07.2005 в 21:26)
| | При первом обращении к сайту (базы пустые) отображает только половину сайта (то что до скрипта), видно срабатывает exit
Далее при последующих переходах по ссылкам ничего не выдает... :???:
При этом записывает в таблички по 1 строке и все | |
|
|
| |
|