форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Создание сайта / Как сделать счётчик? РНР
. 1 . 2 . >>
Автор Сообщение
Рамиль
minibb moder

1152
# Дата: 29 Июл 2006 05:06


Надеюсь мой вопрос немного развеит скутоту на форуме
Нужно сделать счётчик для сайта, хиты, хосты, посещение(они них можно прочитать здесь)

Тот
Участник

140
# Дата: 29 Июл 2006 05:28


<?

//Открываем файл

$file=fopen("file.dat", "r");

//Читаем начальное значение счетчика из файла и закрываем файл

$count=fgets($file,100);

fclose($file);

$count=ereg_replace("\n","",$count);

//Прибавляем к этому значению единицу

$count++;

//Заносим значения в файл счетчика

$file=fopen("file.dat","w");

fputs($file,$count);

//Закрываем файл

fclose($file);

//Пишем на экране "Посетителей xxx"

echo "Посетители было ".$count." человек";

?>

самый простой вариант... допиши проверку и вставку кукисов и всё будет пучком

maxtat
pda killer

1485
# Дата: 29 Июл 2006 05:30


Тот
Такой простенький и я сделаю... А вот как с куками?

acsid
Alfa Guru

2430
# Дата: 29 Июл 2006 05:31 ° Поправил: acsid


Тот
твой будет щитать только заходы на саит.

» Тот
допиши проверку и вставку кукисов и всё будет пучком

кукисы это лишнее и у многих отключены, к томуже их можна стереть.

мой будет щитать всё по айпи и не по айпи, хиты и хосты и т.д. и т.п.
http://forum.alfaspace.net/index.php?action=vthread&forum=9&topic=3518&page=0#11

Андрей
Алексеевич

2123
# Дата: 29 Июл 2006 06:00


acsid
Я не видел ни одного здравомыслящего человека, у которого отключены куки или JavaScript.

Рамиль
Таких скриптов миллион — скачай с вовеба и посмотри как там сделано...

acsid
Alfa Guru

2430
# Дата: 29 Июл 2006 06:13


Андрей
я видел и не одного

persei
Участник

489
# Дата: 29 Июл 2006 06:30


Рамиль
Смотри исходники exmp cms качай
http://exmp.alfamoon.com/?id=download&did=9
Сбор просто статистики engine/utils/stats.php
Статистика посетителей (с куками) engine/utils/userfuncs.php
функция whosonline.php
Вывод статистики engine/pdata/advstat/body.php

Рамиль
minibb moder

1152
# Дата: 9 Авг 2006 02:46


persei
Буду юзать твой вариант. Только придётся много чего переделывать .
З.Ы. Бетака мягко говоря не совсем рабочая

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 03:17


persei
Извини конечно, но пока в твоей цмске всё (или хотя бы счётчик) на соплях держится или на
 
//Сообщения об ошибках 
error_reporting(E_ERROR | E_PARSE); //Только критических 


Помоему, тебе надо engine/pdata/advstat/body.php переделывать полностью. Да, кстати "Просмотров" в краткой статистик тоже самое что и "хиты", "Посетителей" - приходившх юзеров ЕхВВ?

persei
Участник

489
# Дата: 16 Авг 2006 03:34


Рамиль
» Рамиль
З.Ы. Бетака мягко говоря не совсем рабочая

Бетка...
» Рамиль
Извини конечно, но пока в твоей цмске всё (или хотя бы счётчик) на соплях держится или на

Это о контроле ошибок? ха...
» Рамиль
Да, кстати "Просмотров" в краткой статистик тоже самое что и "хиты", "Посетителей" - приходившх юзеров ЕхВВ?

просмотр - хит, посетители - тут где то статья была от анны

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 03:48 ° Поправил: Рамиль


persei
Вот она
» Рамиль
Нужно сделать счётчик для сайта, хиты, хосты, посещение(они них можно прочитать здесь)

В функции ShowHits
function showRefers($hits){ 
    global $WEB_PATH; 
    $i=0; 
     
    foreach($hits as $hit){ 
        if(empty($hit['ref']) || strstr($hit['ref'], $WEB_PATH) || is_search_ref 
        ($hit['ref'])) continue; 
         
        if(!in_array($hit['ref'], $refs)){ 
            $refs[$i] = $hit['ref']; 
            $count[$i] = 1; 
            $i++; 
        } 
        else{ 
            $k = array_search($hit['ref'], $refs); 
            $count[$k]++; 
        } 
    } 
    echo "<table width=90% align=center>\n"; 
     
    foreach($refs as $k => $v) 
    echo "<tr><td align='left'><a href='$v'>".substr($v, 0, 40).((strlen($v) > 4 
    0) ? '...' : '')."</a></td><td align='right'>".$count[$k]."</td></tr>\n"; 
     
    echo "</table>\n"; 
}



Откуда берётся $refs?
if(!in_array($hit['ref'], $refs))
например
З.Ы. Просмотр простой статистики готов, если кому нада, выложу

persei
Участник

489
# Дата: 16 Авг 2006 03:51 ° Поправил: persei


» Рамиль
$refs[$i] = $hit['ref'];

вот откуда

кстати ты прав, файл вывода статистики написан на скорую руку, там кое что можно поправить

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 03:54


persei
нужно ты смотрел статистику без error_reporting(E_ERROR | E_PARSE);?

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 03:56 ° Поправил: Рамиль


persei
Например,
Notice: Undefined index: show in z:\home\counter\www\body.php on line 24 



Наверное надо сделать
if(isset($_GET['show']) 
{ $show = $_GET['show']; } 
else { $show = "0";} 


а там просто
$show = $_GET['show'];

, вот он и матерится когда $_GET['show'] не задан...

persei
Участник

489
# Дата: 16 Авг 2006 03:58


Рамиль
смотрел у меня в настройках php noticы не выводятся да и это не так критично, он по дефолту в null устанавливается и в 0 тайпкастится

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 04:00


persei
А вообще счётчик хороший. Если кому нибудь нада будет, можно сделать отдельный скрипт

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 04:05 ° Поправил: Рамиль


persei
Если будешь переделывать, зделай
Год Месяц Неделю Вчера Сегодня
не как ссылки, а как <select>, т.е. выпадывающее меню, удобнее будет. Хотя я и сам могу...
З.Ы. А на что влияет $start в "Год Месяц Неделю Вчера Сегодня"

persei
Участник

489
# Дата: 16 Авг 2006 04:15


Рамиль
эта переменная только в
function showPages($hits) - с какой страницы начинать вывод

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 04:16


persei
Понятно. Буду пробовать. А запись имени пользователя можно бесполезненно отрезать?

persei
Участник

489
# Дата: 16 Авг 2006 04:21


ага, она пока нигде не используется, токо для ручного поиска хаккеров туевых

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 06:02 ° Поправил: Рамиль


Если кому интересно, http://internet.alfamoon.com/files/ramilcounter0.1beta.rar.tmp. Демо расширенной статиски тут

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 06:14


persei
» persei
$refs[$i] = $hit['ref'];

Но ведь сначала проверяеться наличие $hit['ref'] в массиве $ref которого нет:
  if(!in_array($hit['ref'], $refs)){ 
    $refs[$i] = $hit['ref']; 
    $count[$i] = 1; 
    $i++; 
} 


а лишь потом задаётся значение $ref!

persei
Участник

489
# Дата: 16 Авг 2006 06:40


Рамиль
но ведь это ЦИКЛ! сначала не находим, и добавляем...

persei
Участник

489
# Дата: 16 Авг 2006 06:42


» Рамиль
ramilcounter0.1beta.rar.tmp.

ради уважения ко мне поставьте где нибудь там мой копирайт - cms по лицензии гну рапространяется

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 07:01


persei
Точно... Но ведь почему то есть ошибка
Warning: in_array(): Wrong datatype for second argument in /home/internet/internet.alfamoon.com/counter/body.php on line 405
!
» persei
ради уважения ко мне поставьте где нибудь там мой копирайт - cms по лицензии гну рапространяется

Конечно, во всех файлах остались твои комменты. А насчёт копирайтов, когда будет нормальная версия, естественно и хелп и копирайты твои будут

persei
Участник

489
# Дата: 16 Авг 2006 07:07


» Рамиль
Точно... Но ведь почему то есть ошибка

при первыом обращении это еще не массив, если вас это раздражает то вставьте перед циклом $refs = array()

persei
Участник

489
# Дата: 16 Авг 2006 07:09


да и еще. это же модуль. в сгенереную статистику не выводятся теги html body и прочее

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 07:20


persei
» persei
да и еще. это же модуль. в сгенереную статистику не выводятся теги html body и проч

Конечно зделаю. Спасибо за участие!

orc
Soul keeper

311
# Дата: 16 Авг 2006 09:26


Рамиль
Вкладка боты пустая. А как ты смотришь за визитами поисковых ботов? У них особенный АйПи?

Рамиль
minibb moder

1152
# Дата: 16 Авг 2006 09:32 ° Поправил: Рамиль


orc
Пустая потому что счётчик поставил только сегодня.
» orc
А как ты смотришь за визитами поисковых ботов?

У них в $_SERVER['HTTP_USER_AGENT'] стоит название поисковой машины.
persei
Всё-таки посещения должны называться хитами, потому что reload добавляет +1 к значению
----
Да, кстати, обновил скрипт. Теперь демо по адресу http://internet.alfamoon.com/?module=counter Теперь никаких видимых ошибок нет. Архив + ридми выложу завтра

. 1 . 2 . >>
Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:49269, gzipped size:11963

Mp3 Download || Webs Studio™ || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]