Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Счетчик на php и javascript 
V
    Опции темы
kulibinka
Дата 22.1.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: нет
Всего: 4



Есть куча своих сайтов на хостингах без пхп.  И один http://statserver.ru с пхп.

Задача: получить с сайтов без пхп всю статистику о посетителях.

Нужна инфа: 
ip - айпи человека, 
agent - его юзерагент, 
from - с какой странички пришел, 
thispg - что за страничка.

Как решал: в каждую страницу вставлял <script src="counter.js" language="javascript"  type="text/javascript"></script>, где counter.js это 

Код

document.write('<img src="http://statserver.ru/new_stat/stat.php?log=' + escape(document.referrer) + '|' + escape(document.URL)+'" border=0 width=1 height=1>')


И уже на стороне http://statserver.ru этот урл разбирался и по нему обрабатывалась статистика.
Айпи получаем через getenv('REMOTE_ADDR'), юзерагента через getenv('HTTP_USER_AGENT').

Вроде бы и все хорошо, но есть проблема: длинна гет-запрос может быть максимум 255 (насколько я помню), а сумма урлов страницы и реферера у меня может быть легко больше, и значит статистика коцается.

Тут, насколько я вижу, есть один путь: getenv('REQUEST_URI') получает урл страницы, но без хоста. Вопрос: как в js получить хост чтобы передавать только хост, а не полностью урл страницы через document.URL?

пс: в js я очень не силен smile
PM MAIL   Вверх
Sardar
Дата 22.1.2008, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(kulibinka @  22.1.2008,  16:44 Найти цитируемый пост)
длинна гет-запрос может быть максимум 255 (насколько я помню)

Мах. длина URL'а 2кб, здесь проблемы быть не может.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Wilmor
  Дата 22.1.2008, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 26.2.2006
Где: NET

Репутация: нет
Всего: нет



Тебе сам код нужен. Если да то всё определяется через navigator. 

Код

<html>
<script language="javascript">
var an = navigator.appName; //название браузера
var av = navigator.appVersion; //версия цифрами
var acp = navigator.appCodeName; // кодовое имя браузера
var ua = navigator.userAgent; // сообщает заголовок протокола, используемого браузером во время работы с серверами
document.write("Используется <b>" + an + "</b> Версия <b>" + av + "</b> Кодовое имя <b>" + acp + "</b> Имя и версия <b>" + ua + "</b>.");
</script>
</html>


Это сообщение отредактировал(а) Wilmor - 22.1.2008, 21:53
--------------------
  
PM   Вверх
kulibinka
Дата 22.1.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: нет
Всего: 4



Цитата

Тебе сам код нужен


Меня интересовали именно
Цитата

ip - айпи человека, 
agent - его юзерагент, 
from - с какой странички пришел, 
thispg - что за страничка.


Но как оказалось, действительно "Мах. длина URL'а" большаааая smile
Так что Sardar - спасибо, проблема решена ибо проблемы и не было.
PM MAIL   Вверх
egao
Дата 22.1.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 6.8.2007

Репутация: -1
Всего: нет



Sardar, максимальный размер урла зависит от настроек сервера. в частности в апаче по дефолту - 1кб
PM MAIL   Вверх
InfMag
Дата 23.1.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



Вобще поидее URL и реферер ты могла средствами PHP получить через тот же $_SERVER[], а так клиенту проще будет обмануть счетчик, причем намного проще  smile ...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.