Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2008, 11:51   #1
inetexer
 
Регистрация: 07.04.2008
Сообщений: 5
По умолчанию счетчик на ПХП!

Пишу свой мегасчетчик. Зачем, если есть куча уже готовых? ответ один - надо. Так вот... нужна помощь в написании. На данный момент написано кол-во хитов, посетителей и сколько онлайн (частично писал не сам, брал готовое и подделывал). На данный момент хочу написать О браузерах инфу.
использую функию для этого такую
function f_get_os ()
{
if ($os = getenv("HTTP_USER_AGENT"))
{
return $os;
}
}

только результат в разных браузер абсолютно разный, например:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Opera/9.26 (Windows NT 5.1; U; ru)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )

Стоит вопрос как вырезать из этого то, что мне надо, чтобы занести в таблицу. или может есть другие способы получения информации о браузерах.
inetexer вне форума Ответить с цитированием
Старый 15.04.2008, 16:08   #2
inetexer
 
Регистрация: 07.04.2008
Сообщений: 5
По умолчанию

А у меня тут вопросик возник, правильно ли я записал запрос на подсчет количества Оперы в столбце??
$opera = mysql_query("SELECT COUNT(*) FROM stat WHERE browser = 'Opera'");
вывожу <?php echo $opera; ?>

в результате получаю фигню какую-то: Resource id #9
подскажите плз, че это такое... а то встречается уже не в первый раз.....
inetexer вне форума Ответить с цитированием
Старый 19.04.2008, 09:14   #3
inetexer
 
Регистрация: 07.04.2008
Сообщений: 5
По умолчанию

Нашел статью построения графиков в ПХП.... http://netgen.com.ua/articles/article.php?id=38
Но она не строит, сначала ругается на размеры (но это я исправил), а потом просто выводит текст вместо графиков....
Подскажите пожалуйста, что там не так?
И может у кого-нибудь есть хороший мануал по построению графиков с примерами желательно??
inetexer вне форума Ответить с цитированием
Старый 23.04.2008, 14:55   #4
inetexer
 
Регистрация: 07.04.2008
Сообщений: 5
По умолчанию

>а не лучше ли юзать что то более профессионально написанное?
>например http://pear.php.net/package/Image_Graph/download
Теоретически конечно лучше, но все же мне нужен свой счетчик.....

У меня возникла проблема? нижеприведенный код считает сколько посетителей онлайн и отлично работает на MySQL'e (если вместо PG написать MYSQL), а на PG (забыл точное полное название) не хочет работать (ошибка здесь pg_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 300") or die ("Can't delete old sess"); )
Я думаю, что проблема с типами полей, т.к. в MySQL'e поле TIME имеет тип DATETIME а в PG нет такого поля... я пробывал разные типы, но так и не смог добиться работы...... подскажите плз что-нибудь....

function online () {
$ip=getenv("HTTP_X_FORWARDED_FOR");
if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); }
# уд. старые сессии
pg_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 300") or die ("Can't delete old sess");

# проверка на присутстаие или занесение нового пользователя
$select = pg_query ("SELECT ip FROM online WHERE ip='$ip'") or die ("Can't select duble");
$tmp = pg_fetch_row ($select);
if ($ip == $tmp[0]) {
pg_query ("UPDATE online SET time=NOW() WHERE ip='$ip'") or die ("Can't update");
} else {
pg_query ("INSERT INTO online (ip,time) VALUES ('$ip',NOW())") or die ("Can't insert");
}
# считывание результатов
$select = pg_query ("SELECT COUNT(*) FROM online") or die ("Can't select result");
$tmp = pg_fetch_row ($select);
$online = $tmp[0];

return $online;
}
inetexer вне форума Ответить с цитированием
Старый 08.05.2008, 17:18   #5
inetexer
 
Регистрация: 07.04.2008
Сообщений: 5
По умолчанию

Можно ли как-нибудь сделать в счетчике, чтобы, если приходит бот Яндекса рамы яши яхи гугла, то он не считался за посетителя... а для этого надо определить бот ли зашел или нет... вопрос в том, как это можно определить???
inetexer вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Счетчик посещений Рустам PHP 7 21.10.2009 09:38
Счетчик трафика Black DeviL Работа с сетью в Delphi 2 04.02.2008 18:00
Счетчик посещений сайта Владимирx JavaScript, Ajax 1 27.12.2007 16:54
Счетчик записей в таблице John_chek Общие вопросы Delphi 2 01.03.2007 11:36