Создать ответ 
Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Автор Сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #21
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
(09.04.2012 23:22:30)Incognito писал(а):  Спасибо, отличный результат (Я ещё добавил в ссылку target="_blank" - вообще стало удобно)! Скажите, а можно сделать шаблоны? Например, мне известно, что на мой сайт заходят с определённого топика на форуме и этот топик в своей ссылке на него имеет неизменный номер, например: forum/index.php?showtopic=278400&st=2480 - здесь номер 278400. Сделать так что если скрипт в ссылке увидит этот номер то выдавал в статистике не знакомую ссылку, а например "Это зашли из ветки Виталика"... В общем сделать некие шаблоны, штук 5 - 6?

Замените строчку, в которой считывается страничка, с которой был осуществлен переход

PHP код:
$q6[$si]=$string[5]; // ОТКУДА БЫЛ ПЕРЕХОД НА СТРАНИЧКУ 

на такой код с проверкой совпадения с заранее заданными адресами:

PHP код:
if (stristr($string[5], 'Yandex.ru')) {$q6[$si]='С Яндекса';}
elseif (
stristr($string[5], 'Google.ru')) {$q6[$si]='С Гугла';}
elseif (
stristr($string[5], 'vk.com')) {$q6[$si]='С контакта';}
else 
$q6[$si]=$string[5]; 
10.04.2012 19:25:46
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #22
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Спасибо Вам огромное, всё прекрасно работает, но я не растерялся и по вашему примеру ещё круче сделал! Big Grin Добавил вот это:

Код:
<?php
   for ($si=sizeof($file)-1; $si+1>sizeof($file)-$col; $si--) {
   $string=explode("|",$file[$si]);
   $q1[$si]=$string[0]; // время
   $q2[$si]=$string[1]; // дата
### $q3[$si]=$string[2]; // Браузер ####

if (stristr($string[2], 'iPad')) {$q3[$si]='iPad';}
elseif (stristr($string[2], 'PaleMoon')) {$q3[$si]='Pale Moon browser';}
elseif (stristr($string[2], 'Firefox/8.0.1')) {$q3[$si]='Firefox 8.0.1';}
elseif (stristr($string[2], 'CoolNovo/2')) {$q3[$si]='CoolNovo Browser';}
elseif (stristr($string[2], 'Chrome')) {$q3[$si]='Google Chrome';}
elseif (stristr($string[2], 'Android 2.3.6; Linux; Opera Mobi')) {$q3[$si]='Android 2.3.6 Opera Mobile';}
elseif (stristr($string[2], 'Android 2.3.6')) {$q3[$si]='Android 2.3.6 Stock browser';}
elseif (stristr($string[2], 'Opera/9.80')) {$q3[$si]='Opera desktop browser';}
elseif (stristr($string[2], 'Android 4.0.3; ru-ru; GT-I9100')) {$q3[$si]='Android 4.0.3; GT-I9100';}
elseif (stristr($string[2], 'MSIE 9.0')) {$q3[$si]='Internet Explorer 9';}
elseif (stristr($string[2], 'Firefox/11.0')) {$q3[$si]='Firefox 11';}
elseif (stristr($string[2], 'Android 2.3.6; ru-ru; GT-P1000')) {$q3[$si]='Android 2.3.6; GT-P1000';}
elseif (stristr($string[2], 'MSIE 7.0')) {$q3[$si]='Internet Explorer 7';}
elseif (stristr($string[2], 'Android 2.3.6; ru-ru; GT-N7000')) {$q3[$si]='Android 2.3.6; GT-N7000';}
elseif (stristr($string[2], 'MSIE 8.0')) {$q3[$si]='Internet Explorer 8';}
elseif (stristr($string[2], 'Comodo_Dragon')) {$q3[$si]='Comodo Dragon Web Browser';}
elseif (stristr($string[2], 'Nigma')) {$q3[$si]='Search Engine nigma.ru';}
elseif (stristr($string[2], 'Mac OS X')) {$q3[$si]='Mac OS X';}
elseif (stristr($string[2], 'Firefox/3.6.25')) {$q3[$si]='Firefox 3.6.25';}
elseif (stristr($string[2], 'Android 4.0.3; ru-ru; GT-N7000')) {$q3[$si]='Android 4.0.3; GT-N7000';}
elseif (stristr($string[2], 'Firefox/9.0.1')) {$q3[$si]='Firefox 9.0.1';}
elseif (stristr($string[2], 'Firefox/3.6.10')) {$q3[$si]='Firefox 3.6.10';}
elseif (stristr($string[2], 'UCWEB7')) {$q3[$si]='UCWEB7 browser';}
elseif (stristr($string[2], 'Firefox/12.0')) {$q3[$si]='Firefox 12';}
elseif (stristr($string[2], 'MSIE 6.0')) {$q3[$si]='Internet Explorer 6';}
elseif (stristr($string[2], 'Firefox/14')) {$q3[$si]='Firefox 14';}
elseif (stristr($string[2], 'Firefox/10')) {$q3[$si]='Firefox 10';}
elseif (stristr($string[2], 'Firefox/4')) {$q3[$si]='Firefox 4';}
elseif (stristr($string[2], 'Android 2.3.3; ru-ru; GT-I9100')) {$q3[$si]='Android 2.3.3; GT-I9100';}
elseif (stristr($string[2], 'Firefox/13')) {$q3[$si]='Firefox 13';}
elseif (stristr($string[2], 'Firefox/3.6.28')) {$q3[$si]='Firefox 3.6.28';}
elseif (stristr($string[2], 'Android 3.2; ru-ru; GT-P6800')) {$q3[$si]='Android 3.2; GT-P6800';}
elseif (stristr($string[2], 'AhrefsBot')) {$q3[$si]='AhrefsBot';}
elseif (stristr($string[2], 'Android 4.0.4; fi-fi; GT-N7000')) {$q3[$si]='Android 4.0.4; GT-N7000';}
elseif (stristr($string[2], 'Microsoft Windows Network Diagnostics')) {$q3[$si]='Microsoft Windows Network Diagnostics';}
elseif (stristr($string[2], 'Firefox/3.6.24')) {$q3[$si]='Firefox 3.6.24';}
elseif (stristr($string[2], 'Android 2.3.4; en-us; GT-I9103')) {$q3[$si]='Android 2.3.4; GT-I9103';}
elseif (stristr($string[2], 'robot@reverseget.com')) {$q3[$si]='ReverseGet bot';}
elseif (stristr($string[2], 'Android 2.3.5; ru-ru; GT-N7000')) {$q3[$si]='Android 2.3.5; GT-N7000';}
elseif (stristr($string[2], 'Android 2.3.4; ru-ru; GT-I9100')) {$q3[$si]='Android 2.3.4; GT-I9100';}

... и теперь отпала необходимость в скрипте определения браузера который я выкладывал выше, конечно базу постепенно пополняю при необходимости, зато появилась возможность более гибко настраивать под себя информацию о браузере посетителя который выдаёт скрипт!!! Ваш скрипт стал теперь вообще золотом! Спасибо за идею и решение... Ещё бы было круто если бы скрипт умел подсчитывать общее количество каждого типа браузера в файле статистики base_user.log и выводить числом сколько раз с какого браузера (из перечисленных) заходили, но это так уже чисто для себя, баловство... Big Grin
(Последний раз сообщение было отредактировано 11.04.2012 в 19:34:44, отредактировал пользователь Incognito.)
11.04.2012 19:13:02
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #23
Thumbs Up RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Здравствуйте! Обращаюсь к Вам за помощью! Help Хочу доработать Ваш клёвый скрипт статистики что бы он брал user_id (который выдаёт система авторизации) не из скрипта авторизации, а из кукисов - так будет правильней т.к. там где страница с открытым для всех доступе я просто вырубаю строчку инклюда <?include "***/authscript.php";?> и страница становиться свободной для всех желающих - но скрипт статистики в этом случае не знает какой из зарегистрированных пользователей посещает "открытую" страницу...

Пробовал делать вот так:

<?
setcookie("Name", "<?=$user_id?>");
?>

<?
// Вывод одного значения
echo $_COOKIE["Name"];

?>

Blush Почему <?=$user_id?> ? Да потому что на обычной php странице вот эта штука <?=$user_id?> запросто выдаёт мне имя пользователя - но такой вариант не работает... Потом до меня дошло что имя юзера шифруется при помощи md5 , как я понял вот этой вот строчкой в скрипте авторизации: setcookie ("userID", "$i=>$user_p=>".md5($user_id)."", time()+$cookie_lt, "/");

Потом считал вот этой командой кукис сайта и действительно логин и пароль содержаться в md5 :

[userID] => 1=>736186aa21a47c4bcffce09d2f454719=>21232f297a57a5a743894a0e4a801fc3 [Name] => 123 [PHPSESSID] => 0b034c11bc6c4b9e546b8115ecc7ac48 [has_js] => 1 [style_cookie] => A [phpbb3_kdje2_u] => 1 [phpbb3_kdje2_k] => [phpbb3_kdje2_sid] => 770c3174ca86f76139e6f6eb2da51746 )

И мне стало понятно что скрипту статистики нужно будет ещё это значение расшифровать из md5 и перевести в человеческий вид, потом передать на фиксацию в информации в файле. ))

Уффф глаза уже в кучу O_о Помогите пожалуйста доработать скрипт, целый день убил на изучение этих кукисов - вроде всё просто - но с другой стороны не совсем... А у Вас как всегда наверняка найдётся простой и доступный способ решения данного вопроса! Smile
12.05.2012 14:50:02
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #24
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Я наверно Вас немного разочарую, но md5 не подлежит обратной расшифровке.
Но могу предложить решение: посчитайте для каждого зарегистрированного имени пользователя md5 хэш и занесите их в базу. В дальнейшем просто сравнивайте значение из $user_id со значениями md5 в базе и при совпадении вытаскивайте соответствующее имя. Только так.
12.05.2012 16:25:19
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #25
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
(12.05.2012 16:25:19)Admin писал(а):  Я наверно Вас немного разочарую, но md5 не подлежит обратной расшифровке.
Но могу предложить решение: посчитайте для каждого зарегистрированного имени пользователя md5 хэш и занесите их в базу. В дальнейшем просто сравнивайте значение из $user_id со значениями md5 в базе и при совпадении вытаскивайте соответствующее имя. Только так.

Как всегда спасибо за мудрый совет! Просчитывать ничего мне не нужно у меня скрипт авторизации примитивный и база данных это простой текстовый файл со строчками типа: plushik=>49c7bdb9c1c54f9878705da8a10b71d9=>M (буква М в конце это административный статус) - попробую сделать как Вы подсказали, если не получиться тогда попробую скрипт авторизации обкромсать что бы для открытых страниц он сквозным был и выдавал заодно имя пользователя в скрипт статистики. ))
12.05.2012 17:33:38
Найти все сообщения Цитировать это сообщение
aty-sasa Не на форуме
Рядовой
*

Сообщений: 2
У нас с: May 2012
Сообщение: #26
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Вставляю это в код для записи ответа сервера (HTTP/1.1 200 OK, HTTP/1.1 404 Not Found и т.д.), но в base.log прописывается ровно 101 строка вместо одной. Целый день промучился, так и не устранил ошибку.

$headers = get_headers("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); // получили все заголовки запроса

$lines = file($file);
while(count($lines) > $col_zap) array_shift($lines);
$lines[] = $date."|".$bot."|".$ip."|".$otkuda."|".$headers[0]."|".$home."|\r\n";
file_put_contents($file, $lines);
(Последний раз сообщение было отредактировано 24.05.2012 в 00:38:42, отредактировал пользователь aty-sasa.)
24.05.2012 00:34:32
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #27
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
aty-sasa, приведенная Вами часть кода у меня наотрез отказывается работать, а именно переменная $headers.

Попробуйте обойтись без данной конструкции:
Цитата:$headers = get_headers("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); // получили все заголовки запроса

А по поводу 101 строки посмотрите повнимательнее на расположение Вашего кода, возможно он располагается внутри одного из циклов.

P.S. Ваш скриншот удалил т.к. он слишком большой.
24.05.2012 19:12:02
Найти все сообщения Цитировать это сообщение
aty-sasa Не на форуме
Рядовой
*

Сообщений: 2
У нас с: May 2012
Сообщение: #28
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
(24.05.2012 19:12:02)Admin писал(а):  aty-sasa, приведенная Вами часть кода у меня наотрез отказывается работать, а именно переменная $headers.

Попробуйте обойтись без данной конструкции:
Цитата:$headers = get_headers("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); // получили все заголовки запроса

А по поводу 101 строки посмотрите повнимательнее на расположение Вашего кода, возможно он располагается внутри одного из циклов.

Привожу код полностью:

config.php
PHP код:
////////////////////////////////////// Лог посещений - logs.php ////////////////////////

$file="base.log";    //куда пишем логи
$col_zap=4999;        //строк в файле не более

if       (!empty($_SERVER['HTTP_CLIENT_IP']))         { $ip $_SERVER['HTTP_CLIENT_IP']; }
elseif (!empty(
$_SERVER['HTTP_X_FORWARDED_FOR']))     { $ip $_SERVER['HTTP_X_FORWARDED_FOR']; }                // Если IP идёт через прокси
else                                                 { $ip $_SERVER['REMOTE_ADDR']; }

if       (
strstr($_SERVER['HTTP_USER_AGENT'], 'YandexBot'))                                 {$bot 'YandexBot';} // strstr !
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'YandexMarket'))                             {$bot 'YandexMarket';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'YandexDirect'))                             {$bot 'YandexDirect';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'YandexMetrika'))                             {$bot 'YandexMetrika';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot'))                                 {$bot 'Googlebot';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'bingbot'))                                 {$bot 'bingbot';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'Mediapartners-Google'))                     {$bot 'Mediapartners-Google';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'WordPress'))                                 {$bot 'WordPress';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'Yahoo! Slurp'))                             {$bot 'Yahoo! Slurp';}
elseif (
strstr($_SERVER['HTTP_USER_AGENT'], 'Ezooms'))                                     {$bot 'Ezooms bot';}

elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'robot@reverseget.com'))                     {$bot 'ReverseGetbot';} // stristr !
elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'AhrefsBot'))                                 {$bot 'AhrefsBot';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Nigma'))                                     {$bot 'Search Engine nigma.ru';}

elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'iPad'))                                     {$bot 'iPad';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'PaleMoon'))                                 {$bot 'Pale Moon browser';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'CoolNovo/2'))                             {$bot 'CoolNovo Browser';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Chrome'))                                 {$bot 'Google Chrome';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Android'))                                 {$bot 'Android';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Opera/9'))                                 {$bot 'Opera 9';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Opera/10'))                                 {$bot 'Opera 10';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Opera/11'))                                 {$bot 'Opera 11';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/3'))                                 {$bot 'Firefox 3';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/4'))                                 {$bot 'Firefox 4';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/5'))                                 {$bot 'Firefox 5';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/6'))                                 {$bot 'Firefox 6';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/7'))                                 {$bot 'Firefox 7';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/8'))                                 {$bot 'Firefox 8';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/9'))                                 {$bot 'Firefox 9';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/10'))                             {$bot 'Firefox 10';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/11'))                             {$bot 'Firefox 11';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/12'))                             {$bot 'Firefox 12';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/13'))                             {$bot 'Firefox 13';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox/14'))                             {$bot 'Firefox 14';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Comodo_Dragon'))                             {$bot 'Comodo Dragon Web Browser';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Mac OS X'))                                 {$bot 'Mac OS X';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'UCWEB7'))                                 {$bot 'UCWEB7 browser';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 4.0'))                                 {$bot 'Internet Explorer 4';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 5.0'))                                 {$bot 'Internet Explorer 5';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0'))                                 {$bot 'Internet Explorer 6';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0'))                                 {$bot 'Internet Explorer 7';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0'))                                 {$bot 'Internet Explorer 8';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 9.0'))                                 {$bot 'Internet Explorer 9';}
elseif (
stristr($_SERVER['HTTP_USER_AGENT'], 'Microsoft Windows Network Diagnostics'))     {$bot 'Microsoft Windows Network Diagnostics';}
else                                                                                     {
$bot $_SERVER['HTTP_USER_AGENT'];}

$date date("d.m.Y H:i:s");                                    //дата события
$home /*$_SERVER['HTTP_HOST'] . */$_SERVER['REQUEST_URI'];    //какая страница сайта

$otkuda urldecode (getenv("HTTP_REFERER"));                     // Откуда пришел
if (mb_detect_encoding($otkuda) == "Windows-1251")
    {
$otkuda iconv("Windows-1251""UTF-8"$otkuda);}

$header get_headers("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); // вытаскиваем заголовок, $header[0] - HTTP/1.1...

$lines file($file);
while(
count($lines) > $col_zaparray_shift($lines);
$lines[] = $date."|".$bot."|".$ip."|".$otkuda."|".$header[0]."|".$home."|\r\n";
file_put_contents($file$lines); 

logs.php
PHP код:
if ($col>sizeof($file)) { $col=sizeof($file); }
echo 
"<p>&nbsp;&nbsp;&nbsp;&nbsp;Последние <b>".$col."</b> посещений сайта:</p>";
echo 
"<p>&nbsp;&nbsp;&nbsp;&nbsp;Всего <strong>".sizeof($file)."</strong> посещений.";
echo 
"<br>&nbsp;&nbsp;&nbsp;&nbsp;Просмотреть последние &nbsp;<a href=?col=20>20</a> &nbsp;<a href=?col=100>100</a> &nbsp;<a href=?col=500>500</a> &nbsp;<a href=?col=1000>1000</a> &nbsp;посещений.";
echo 
"<br>&nbsp;&nbsp;&nbsp;&nbsp;Просмотреть <a href=?col=".sizeof($file).">все посещения</a>.</p>"
Код:
<table cellspacing="1" cellpadding="4" border="0" bgcolor="#cccccc" >
<tr bgcolor="#eeeeee">
<td width="150"><b>Время, дата</b></td>
<td><b>Кто посещал, браузер</b></td>
<td width="100"><b>IP, прокси</b></td>
<td width="500"><b>Откуда пришел</b></td>
<td width="82"><b>Ответ сервера</b></td>
<td><b>Посещенный URL</b></td>
</tr>
PHP код:
for ($si=sizeof($file)-1$si+1>sizeof($file)-$col$si--) 
   {
   
$string=explode("|",$file[$si]);
   
$q1[$si]=$string[0]; // дата и время
   
$q2[$si]=$string[1];
   
$q3[$si]=$string[2]; // ip бота
   
$q4[$si]=$string[3]; // Откуда пришел
   
$q5[$si]=$string[4]; // Ответ сервера
   
$q6[$si]=$string[5]; // адрес посещения

    
echo "<tr bgcolor=\"#ffffff\">\n";
       
    
    echo 
"\t<td>".$q1[$si]."</td>\n";
    
    if (
$q2[$si] == "YandexBot" || 
        
$q2[$si] == "Googlebot" || 
        
$q2[$si] == "bingbot" || 
        
$q2[$si] == "Mediapartners-Google" || 
        
$q2[$si] == "YandexMetrika" || 
        
$q2[$si] == "WordPress" || 
        
$q2[$si] == "Yahoo! Slurp" || 
        
$q2[$si] == "YandexMarket" ||
        
$q2[$si] == "YandexDirect" ||
        
$q2[$si] == "ReverseGetbot" || 
        
$q2[$si] == "AhrefsBot" || 
        
$q2[$si] == "Search Engine nigma.ru")
            {echo 
"\t<td bgcolor=\"#dfffe3\">".$q2[$si]."</td>\n";}
    elseif (
$q2[$si] == "Ezooms bot")
            {echo 
"\t<td bgcolor=\"#fff5d2\">".$q2[$si]."</td>\n";}
    else     {echo 
"\t<td>".$q2[$si]."</td>\n";}
    
    if (
$q3[$si] == "127.0.0.1"
            {echo 
"\t<td>".$q3[$si]."</td>\n";}
    else     {echo 
"\t<td><a target=\"_blank\" href=\"http://www.seogadget.ru/location?addr=".$q3[$si]."\">".$q3[$si]."</a></td>\n";}
    
    
        
    echo 
"\t<td><div style=\"width:500px; overflow:hidden\">".$q4[$si]."</div></td>\n";
    echo 
"\t<td>".$q5[$si]."</td>\n";
    
    echo 
"\t<td>".$q6[$si]."</td>\n";
    
    echo 
"</tr>\n";
    }
echo 
"</table>\n";
echo 
"<p>&nbsp;&nbsp;&nbsp;&nbsp;Просмотреть последние &nbsp;<a href=?col=20>20</a> &nbsp;<a href=?col=100>100</a> &nbsp;<a href=?col=500>500</a> &nbsp;<a href=?col=1000>1000</a> &nbsp;посещений.";
echo 
"<br>&nbsp;&nbsp;&nbsp;&nbsp;Просмотреть <a href=?col=".sizeof($file).">все посещения</a>.</p>";
echo 
"</body></html>"

В том-то и дело, что в config.php никаких циклов нету. Без get_headers() всё прекрасно работает... А так хочется записывать заголовки.
24.05.2012 22:05:03
Найти все сообщения Цитировать это сообщение
OranGe Не на форуме
Рядовой
*

Сообщений: 2
У нас с: Mar 2013
Сообщение: #29
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Почему файл .log сам периодически обнуляется?
31.03.2013 14:08:17
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #30
RE: Как добавить в Ваш замечательный скрипт статистики показывать ещё и имя пользователя
Совсем обнуляется или теряется часть данных?

Потеря части данных файла логов может происходить в том случае, если у Вас высокая посещаемость сайта.
Таким образом, в момент записи файла .log на сайт может зайти другой посетитель и скрипт считает из файла .log не все имеющиеся там данные. При высокой посещаемости сайта рекомендует воспользоваться принудительной блокировкой файла (функция flock).

На нашем сайте работает подобный код скрипта записи логов посещений сайта, но он претерпел значительные изменения. Через некоторое время создам отдельную тему с более функциональным и "надежным" кодом.
31.03.2013 16:18:22
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru