PDA

Просмотр полной версии : Счётчик посещений


inco_nj
04.02.2008, 14:21
Ну, на самом деле у меня два вопроса... чтобы не засорять форум, решил объединить в одну тему. Извините, если нарушаю какие-то правила... :confused:

1. Помогите, плз, сделать счётчик пользователей, просмотревших клип. Мне нужно, чтобы счётчик имел визуальное отображение в самом клипе в виде цифр.

2. Требуется сделать подгрузку сцен с персонажами в зависимости от дня недели: в понедельник, допустим, играет только такая-то сцена, во вторник - другая, и т.д. Персонажи сделаны единым для всех сцен мувиком.

Ostgur
04.02.2008, 14:33
1. php (http://php.net/)
2. myDate.getDay(); (http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary155.html)

iNils
04.02.2008, 14:33
Один вопрос - одна тема.
Создавайте вторую тему.

iHome Leha
04.02.2008, 15:45
Мне тож интересно, как сделать счетчик посещений, интересно знать сколько людей просмотрело твое творение))
Ostgur

Разве с помощью ПХП можно сделать это во флешке??

Ostgur
04.02.2008, 15:55
iHome Leha, я ничего подобного не делал и не собираюсь, и, вообще, считаю что все общедоступные счётчики просмотров и т.д. — есть бред.
Делается это всё в ПХП, флэш лишь является средством вывода в данном случае, так как ни в БД, ни в файл он писать не умеет!

inco_nj
05.02.2008, 14:33
Один вопрос - одна тема.
Создавайте вторую тему.
Извиняюсь... Тогда первый вопрос - основной. :)

Делается это всё в ПХП, флэш лишь является средством вывода в данном случае, так как ни в БД, ни в файл он писать не умеет!
А можно тогда описать скрипт вывода?

Ostgur
05.02.2008, 15:49
inco_nj, xml, txt, либо FlashVars принимаете, который php генерирует, потом переменную в текстовое поле выводите

instance_name_textfield.text = variable_from_php;

inco_nj
05.02.2008, 17:19
2 Ostgur:
Ээээ... я совсем ещё чайник, поэтому ответа не понял. :) Можно, если не очень трудно, дать развёрнутый ответ?

Флэшка будет размещена на одной из страниц некоего сайта. При посещении данной страницы пользователем ПХП-код будет приплюсовывать единичку в некотором текстовом файле (назовём его txt.txt), а обработчик должен будет считывать содержимое этого файла и выводить в клип. Путь к файлу пусть будет аааа (не знаю, нужен он, не нужен...).
Соответственно, я создаю в клипе текстовый слой и назначаю на него скрипт, подгружающий содержимое txt.txt. Я правильно понял?

1. Какие свойства должны быть у текстового слоя в клипе (Static Text, Dynamic Text, Input Text)?

2. Должен ли у него быть лейбл?

3. Как должен выглядеть скрипт (с учётом названия текстового файла и, наверное, пути к нему, и (наверное) лейбла слоя)?

Ostgur
05.02.2008, 17:49
1. Dynamic Text
2. Нет, у него должен быть Instance name, который указывается в панели Properties
3. скрипт тот же, что и выше, где instance_name_textfield - имя текстого поля(Instance name), а .text - метод, который присваивает этому текстовому полю значение переменной, которую мы получаем от php.
подробнее в help'e(F1 нажать), в поиск вводить TextField и искать для него метод text.

inco_nj
06.02.2008, 16:29
Сломал мозг об англоязычный хелп... :(

А как мне указать путь на содержимое конкретного текстового файла?

Ostgur
06.02.2008, 16:46
this.createEmptyMovieClip("target_mc", this.getNextHighestDepth());
loadVariables("params.txt", target_mc); //грузим переменные из params.txt в target_mc
function checkParamsLoaded() {
if (target_mc.done == undefined) {
trace("не сейчас.");
} else {
trace("загрузка закончена. убиваем интервал param_interval");
trace("-------------");
for (i in target_mc) {
trace(i+": "+target_mc[i]);
}
trace("-------------");
clearInterval(param_interval);
}
}
var param_interval:Number = setInterval(checkParamsLoaded, 100);



params.txt должен содержать текст, типа
var1="hello"&var2="goodbye"&done="done"

переменные разделяются через &

inco_nj
11.02.2008, 15:01
2 Ostgur:
Посидел, повтыкал в этот код... По-моему, это не совсем то... Больше похоже на прелоадер или что-то в этом духе.

Сам пока не придумал ничего лучше этого:
variable_from_php.loadVariables("URL","layer_name");
layer_name.text = variable_from_php;
Но всё равно не работает, пишет в текстовом поле UNDEFINED.
Я так понимаю, мне надо задать какую-то переменную через VAR, увязать её с текстовым файлом по URL и потом вывести её значение.

Ostgur
11.02.2008, 15:08
да, переменные так задаются var1="hello", пример пхп записи переменной пригодной для loadVariables флэша:

page_file = 'var1="hello"';
$poch = fopen('params.txt');
fwrite($poch, $page_file);

inco_nj
11.02.2008, 15:45
Данный код мне нужно вписывать в текстовый файл, формируемый ПХП?
Если да, тогда тот код, который я написал, будет верен?

Ostgur
11.02.2008, 15:50
данный код — php код, который формирует текстовый файл params.txt с переменной для флэш var1="hello"

inco_nj
11.02.2008, 17:02
Ага, понял. А код вывода я правильно написал?

Ostgur
11.02.2008, 18:35
правильно

inco_nj
15.02.2008, 12:35
В общем, решил проблему так.

Создал текстовый слой my_text, в котором будет отображаться счётчик.
Создал поверх него ещё один слой, назначил ему скрипт:
my_text.text = _root.count;
В HTML-коде на странице с флэшкой вписал:

- в тэг <embed>:
<embed flashVars="count=123456" ...>
- под тэгом <object>:
<param name="FlashVars" value="count=123456">

Получилось что-то вроде этого:
<html xmlns="URL">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />
<title>Flash_Name</title>
</head>
<body bgcolor="#ffffff">
<!--url's used in the movie-->
<!--text used in the movie-->
<!--
<p align="center"></p>
-->
<!-- saved from url=(0013)about:internet -->
<object ...>
<param name="FlashVars" value="count=123456">
<param name="allowScriptAccess" value="sameDomain" />
<param name="bgcolor" value="#ffffff" />
...
<embed flashVars="count=123456" ...>
</object>
</body>
</html>

aladd
07.04.2008, 15:25
и что получилось в итоге? где посмотреть?

Alex Lexcuk
07.04.2008, 23:37
Конечно у меня, без проверки на ip-адрес.
http://dnadillo.dn.ua/php_flash/classbut/count_attendance.swf
http://dnadillo.dn.ua/php_flash/php_flash.zip

KiL33
08.04.2008, 13:18
Alex Lexcuk
Забавный примерч[ИК]!
А возможно реализовать эту статистику путем нажатия на кнопку.
То есть при нажатии на определенную кнопку +1, но так что бы с интервалом активности кнопки.
То есть нажали один раз, прошло 15-20 секунд, кнопка стала снова активной
Очень интересно, напишите что-нибудь по этому поводу

iNils
08.04.2008, 13:46
KiL33, перечитайте первый пункт правил форума.

Alex Lexcuk
09.04.2008, 00:26
Все можно сделать, но не целесообразно, потому, что теряется суть, когда нажимается кнопка +1.

KiL33
09.04.2008, 18:48
Почему же теряется суть. Таким образом можно определить, допустим, сколько раз просматривалась определенная картинка или кол\во посещений какого-нибудь раздела в сайте.

Alex Lexcuk
11.04.2008, 16:22
И все таки зачем кнопка +1? Ведь можно сделать много счетчиков на каждый раздел.
http://murmadillo.tut.su/php_flash/page_0.html

KiL33
12.04.2008, 15:55
Это и iNils’у понятно, что можно сделать много счетчиков на каждый раздел
))) [Шутка]

Ладно, оставим сейчас разделы в стороне)
К примеру, взять мою ситуацию. Я сейчас работаю над сайтом. В данном сайте база на 10000 тыс. предприятий, и в дальнейшем цифра будет только увеличиваться.
На каждую организацию визитка с инфой.
Допустим, я захочу для каждой организации добавить статистику посещений.
Может Мне интересно, какие услуги у Нас пользуются большим спросом)))
И делать 10000 тыс. счётчиков это … не реально!

З.Ы.
Вы не пробовали написать книгу. У Вас очень доходчиво и интересно получается объяснять свои мысли)

Alex Lexcuk
13.04.2008, 00:53
"Ну и запросы у вас", - сказала база данных и зависла.

KiL33
13.04.2008, 14:09
Даг дело не в "запросах", а в изначально правильной реализации сего творения) Хотя я в этом вопросе не столь компетентен насколько Вы, уверен в этом.

Ostgur
13.04.2008, 14:15
И делать 10000 тыс. счётчиков это … не реально!
Это также реально, как и вывод данных о каждом предприятии, просто добавляется ещё один пункт для каждого предприятия с посещенями и всё.

Alex Lexcuk
14.04.2008, 00:32
Читайте книжецу
С.М. Парижский
Н.А. Литвиненко
РНР ТЕОРИЯ И ПРАКТИКА
"МК-Пресс"
Киев,2006
Там есть глава 3.5. Полная отчетность по сайту.
Вот реально цитата-
Мы будем рассматривать пакет для сбора статистики сайта - CNStats.
Более 30 базовых отчетов доступно через веб-интерфейс. Она позволяет учитывать всех посетителей сайта - как реальных посетителей сайта, так и ботов (таких как бот поисковика Google). Для работы на сервере требуется поддержка PHP и MySQL. Официальный сайт проетка www.cnstats.com.
После того как вы скачали последнюю версию CNStats, распакуйте архив в корень вышего сайта таким образом, чтобы там образовался новый каталог с именем cnstats со всеми необходимыми файлами внутри. Теперь откройте браузе и введите в строке адреса http : // www / адрес сайта / cnstats / install.php
Заполните необходимые поля. Нужно выбрать и запомнить (пароль не восстанавливается - если забыть) логин пароль, срок хранения статистики рекомендутся 40 дней, вид счетчика - отображения информации о посещаемостию.
И кнопка NEXT.

БЛИН... Дальше не осилю. Попробовал бы, да нaфик надо. Ничего мне проверять статистику сайта.

Последняя строчка главы.
Если возникнут вопросы, можете почитать официальное руководство пользователя на сайте
http://www.cnstats.com/ru/support/manual/inst_free.php