Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Авторские форумы » Веб-дизайн, вёрстка и веб-программирование » Отлов n-ного посетителя.
новая тема  ответить следующая тема | предыдущая тема
Автор
 
DJ.MMM - offline DJ.MMM
24-07-2003 14:12 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Отлов n-ного посетителя.

Меня вот уже достаточно долгое время терзает вопрос отлова, ну например, 10000-го посетителя. Частенько берусь за поиск инфы, и сного из-за нехватки времени и ненаходимости инфы откладываю поиски на неопределенный срок, а пользователей на днях стало 11000 с лишним.

Вот слышал, что можно какую-то функцию в PHP счетчик интегрировать и тогда, когда его значение будет n, тогда откроется новое окошко с предложением пройти куда следует.

Так собственно вопрос:
Что это за функция? Или где можно взять подобный скрипт?

Maxtradamus - offline Maxtradamus
24-07-2003 16:16 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Чебурашка-ниндзя



надо просто уметь чуть чуть программировать, и логически мыслить. Вот псевдокод (в виде перла):

if(NumVisitor == 1000(или n))
{
print "your html code";
}


__________________
Уже вечерело, а ёжики все падали да падали...

Dark - offline Dark
25-07-2003 03:07 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Темная личность



DJ.MMM
Никаких волшебных функций не существует. Нельзя добавить в счётчик код, не зная, как этот счётчик работает. А, насколько я понимаю, самостоятельно разобраться в коде ты не сможешь.

Для начала советую поискать нужный скрипт в Гугле и Яндексе: ты наверняка не первый, кому нужен отлов юбилейного посетителя. Если не получится, будем думать дальше...

Mips - offline Mips
25-07-2003 04:39 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор
Злыдень немрущий



Думаю, правильнее будет поздравлять не только тысячного посетителя, а каждого тысячного.

if( (NumVisitor % 1000) == 0)
{
print "Congratulate! bla-bla...";
}

DJ.MMM - offline DJ.MMM
25-07-2003 07:52 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Maxtradamus, Dark, Mips
Спасибо вам, вообще-то я действительно плохо понимаю в перле, с хтмлом разабрался давно, сейчас пхпи осваиваю, именно по этому и попросил на нем кусочек, а уж встроить смогу, не в первой из 2-х скриптов собирать один, искать глюки и собственную ошибку.

А то что в нете, так там везде бональный принцип отлова:
"Вывешиваеться табличка, мол отпринтскринте Ваш экран с счетчиком и отправте по такому-то мэйлу(найдеться куча фотожощиков). А потом разбирайтесь с серверными логами, дабы найти именно того, кто был n-ным."

DJ.MMM - offline DJ.MMM
25-07-2003 07:55 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Mips И еще, поздравлять - согдасен, но у нас в задумках было еще и награждать круглых юбиляров, очень ценными призами!

DJ.MMM - offline DJ.MMM
25-07-2003 10:10 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Маленький вопрос:
Есть ПХП переменная, $counter = "counter.txt";
обозначающая значение счетчика, как правильней написать следующее, на примере меня:

$counter = 11000 + значения в файле "counter.txt";

А только что написал:
Все, еще раз спасибо, таки разобрался с ПХП осталось только привести к дружественному виду и оттестить(с этим сложнее, мы сидим не под динамическим ипом), ладно, это уже мелочи.

Изменено: DJ.MMM, 25-07-2003 в 10:34

DJ.MMM - offline DJ.MMM
25-07-2003 14:03 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Во, и в очередной раз я выпутался, вышестоящий вопрос снимается.

$total_hosts_siz = обработка функции;
$total_hosts_size = $total_hosts_siz + 11000;

if ($total_hosts_size == 11001) {
print "Congratulate! bla-bla...";
}

Теперь новый вопрос, как открыть данное сообщение в новом окне?

Ни чего, это я так, делюсь для сталкивающихся с той же проблемой начинающих, вот еще почитаю мануалку к ПХП, еще и с этим разбирусь. А вообще отдельное спасибо Mips за его собрание ссылок.

Если таки сделаю эту байду, тогда выкладу куда-нибудь, что бы другие не парились.

Maxtradamus - offline Maxtradamus
25-07-2003 21:55 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Чебурашка-ниндзя



для того чтобы открыть сообщение в новом окне надо читить мануал не по PHP, а по Javasсript...

Neo - offline Neo
26-07-2003 00:37 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
идиотЪ



DJ.MMM

Написал токи?

Можеш мне выслать?( [email]blackneo@ukr.net[/email] ) или выложить где-то?
С инструкцией что с ним делать.

А то я мучался, написал его но он как-то криво пашет=(
Не всегда срабатывает....

Urkagan - offline Urkagan
26-07-2003 07:55 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор
Наглая жирная рожа



DJ.MMM, на твой вопрос, ответ можно найти здесь, хотя в принципе, Maxtradamus на него ответил.

Кстати, Mips, думаю эту ссылку нужно повесить в Справочник веб-программера.

DJ.MMM - offline DJ.MMM
28-07-2003 09:04 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



*, что то все не так как я ожидал, ладно будем мучать дальше..
Сенкс, и еще один.. сенкс, а вы что подумали?

DJ.MMM - offline DJ.MMM
28-07-2003 13:06 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Вот сегодня опять наталкнулся на очередную непонятность..
Ближе к проблеме, обнаружил тут такую бяку, что счетчик посчитав определенный ИП, более никогда(день, неделя и т.п.) не возьмет его за хост, так вот вопрос каким лучше алгоритмом заставить его считать один и тот же ИП раз в 24 часа? Ну или раз в день

У меня была идея взять из счетчика(counter.txt) только уникальные строки, ну на пример:

193.156.73.179|26July2003
193.156.73.179|26July2003
194.186.30.100|28July2003
194.186.30.100|28July2003
193.156.73.179|28July2003

=>
1, 2 и 5, т.е. отфильтровать одинаковые, посчитать кол-во уникальных и выдать общее кол-во хостов на подиум, ну как всегда теоретически легко, а с осуществлением запарки.

Просто намекните, по какому пути мне идти. И вообще возможно ли осуществить мой вариант?

DJ.MMM - offline DJ.MMM
28-07-2003 14:33 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



...возможно, пожел изучать кукисы.

Anafay - offline Anafay
28-07-2003 14:53 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать




DJ.MMM
...возможно, пожел изучать кукисы.
Куки могут быть отключены. Тогда один человек с отключенными куками (и отключенным javasсript, чтобы нельзя было проверить на клиенте) будет при каждом хите увеличивать счетчик на 1. Их лучше вместе с проверкой IP использовать.

Рацпредложение (если ты работаешь с файлами):
Сделать файл с хостами по дням:
26July2003|345
27July2003|325
...
И по файлу с хостами на каждый день. Первой строкой в нем храним значение счетчика (чтобы можно было безболезненно чистить старые файлы).
Если файл с хостами обнаружить не удалось, то запускается процедура обновления файла дней/хостов и формируется новый файл для хостов текущего дня.

Значение счетчика - это значение первой строки в файле хостов текущего дня + количество остальных строк.
За текущий день - количество строк, кроме первой, в текущем файле хостов.

Dark - offline Dark
29-07-2003 01:32 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Темная личность



Предложу свой алгоритм.
1. Проверяем, есть ли у посетителя кука.
1 (а). Если куки нет, создём куку на 24 часа.
1 (б). Если кука есть, оставляем товарища в покое. exit();
2. Проверяем файлик "29_07_2003.txt" на наличие IP посетителя.
2 (а). Если IP есть, оставляем товарища в покое. exit();
2 (б). Если IP нет, открываем файлик "hits.txt", прибавляем к числу единичку и заносим IP в файлик "29_07_2003.txt".

С файлами ещё проще: каждый день создаём файл на данные сутки, параллельно удаляя файл за предыдущий день. Ну а файл "hits.txt" будет постоянно радовать нас общим числом почти уникальных посещений.

Зереша - offline Зереша
29-07-2003 04:13 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор



DJ.MMM
В качестве рац.предложения -- а почему не использовать MySQL какой-нибудь? И не геморройствовать с текстовыми файлами? А поводу счетчика и отслеживания релоадов -- в PHP 4 есть сеансы. Их копай, чтоб без всяких дурацких куки и IP справиться с задачей.

DJ.MMM - offline DJ.MMM
29-07-2003 11:21 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Dark Это мне нравится.

Зереша Ага, только уж настроился без MySQL-а обойтись, так без него и буду, за одно и язык освою на реальном примере.

Dark - offline Dark
30-07-2003 01:34 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Темная личность



Зереша
Можно конечно и через сессии... Но это сложнее, да и вопросы лишние появятся. Сессии и регулярные выражения - это вещи, которые обычно оставляют на потом.

А вот применение MySQL здесь совершенно не к месту. Мы оперируем простейшими расчётами и двумя файлами: это не так уж громоздко, чтобы была необходимость в БД. К тому же это хорошая практика для работы с файлами: MySQL под рукой будет не всегда, а данные сохранять где-то надо.

Зереша - offline Зереша
30-07-2003 04:24 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор



Dark
Ну не знаю, мне сессии показались не такими уж и сложными...

С файлами ещё проще: каждый день создаём файл на данные сутки, параллельно удаляя файл за предыдущий день. Ну а файл "hits.txt" будет постоянно радовать нас общим числом почти уникальных посещений. А интересно, удаление файла за предыдущий день происходит при обращении кого-то к страничке или это крон-сервис? А если этот самый тысячный был в удаленном файле? Как проверить?
И почему кука на 24 часа? Человек приходит в 14.00. В 18.00 он уже не учитывается? Ему теперь положено только в 14.01 следующего дня?

Dark - offline Dark
30-07-2003 22:27 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Темная личность



>> А интересно, удаление файла за предыдущий день происходит при обращении кого-то к страничке или это крон-сервис?
-- При обращении к странице.

>> А если этот самый тысячный был в удаленном файле? Как проверить?
-- Если он тысячный, скрипт об этом уведомит сразу же, а не на следующий день.

>> И почему кука на 24 часа? Человек приходит в 14.00. В 18.00 он уже не учитывается? Ему теперь положено только в 14.01 следующего дня?
-- Это уже личные предпочтения. Для меня индивидуальный посетитель - человек, зашедший на страницу один раз за день.

Текущее время: 18:22
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru