Azotirovanie.ru

Инженерные системы и решения
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Учимся ставить на сайт с движом joomla счетчик посещений

Учимся ставить на сайт с движом joomla счетчик посещений

28. Июл, 2012 Комментариев 5

Как поставить на joomla счетчик посещений на свой сайт? Всех новичков, кто только начал заниматься созданием своих собственных сайтов, интересует этот вопрос.

Я и сам когда то начинал этот нелегкий путь в интернет бизнесе. По началу создавал сайты на ucoz), на вебстолица и т. д. Но там было вроде бы все очень просто и счетчики посещений я устанавливал за каких то пару минут.

Но когда я решил заниматься интернет бизнесом серьезно и поставил цель зарабатывать по 100$, то я естественно перешел на платный хостинг, купил домен и поставил движок JOOMLA. И столкнулся я с этой задачей — «Как поставить счетчики посещений на свой сайт». Все пытался и пытался, но ничего из этого не получалось.

Я обошел кучу блогов в поисках ответа. И наконец то я нашел и понял как установить счетчики посещений. Потом я столкнулся еще с одной проблемой. «Как поставить счетчик посещений к себе на сайт, чтобы они были в самом низу и по центру? Естественно я был новичок и в области html и php программирования ничего не знал.

В этом блоге я ваш разложу все по полочкам, как поставить счетчик посещений на сайт и по центру, на движки JOOMLA и WORDPRESS.

Как установить счетчики посещений на движок JOOMLA

Для тех, кто использует CMS JOOMLA. Я всегда использую 3 счетчика (можете увидеть внизу сайта)

1. Это соответственно LiveInternet (куда же мы без него)

2. Счетчик ТИЦ и PR

3. Счетчик посещений (как на profitcentr)

Для установки счетчиков на joomla, зайдите в свою админ — панель

Выбираете вкладку «Расширения»

Выбираете в контекстном меню — «менеджер шаблонов»

Выбираете свой шаблон (который сейчас у вас используется), он помечен звездочкой. У меня в данном случае на сайте www.fast-invest.ru стоит JA_PURITY. Выбираете свой шаблон и нажимаете «изменить»

Далее выбираете «Редактировать html»

Далее появится окно с кодом. Перемотайте до самого низа и пропустите пару строчек.

Вот в самый низ и вставляйте свой «код счетчика»

Как поставить несколько счетчиков в ряд по горизонтали

Для этого вам поможет следующий код:

<table><tr><td>ваш код</td><td>ваш код</tr></table> -этот код для вставки 2 счетчиков в ряд по горизонтали.

А вот так к примеру, будет выглядеть код для вставки 5 счетчиков:

<table><tr><td>ваш код</td><td>ваш код</td><td>ваш код</td><td>ваш код</td><td>ваш код</tr></table> — этот код для вставки 5 счетчиков в ряд по горизонтали.

Как сделать, чтобы счетчики посещений были по центру?

Это так же, как у меня на блоге (внизу блога) стоят 3 счетчика в ряд и по центру.

Для вставки счетчиков по центру, вам потребуется следующий код:

Этот код необходимо вставить, перед самим кодом счетчика, либо как я уже писал код выше ( для вставки 2, 5 счетчиков в ряд) это будет выглядеть так:

<div align=»center»><table><tr><td>ваш код</td><td>ваш код</td><td>ваш код</td><td>ваш код</td><td>ваш код</tr></table> — этот код для вставки 5 счетчиков в ряд по горизонтали.

Читайте так же:
Шкаф авв для счетчика

Вот и все! У вас должно появиться что то такое

Как поставить счетчик посещений на wordpress

В этом тоже нет никаких проблем! В wordpress можно поставить счетчик посещений абсолютно в любое место, но я расскажу только о том, как поставить их в низу сайта (как у меня ниже)

Заходите в админку wordpress и выбираете меню «Внешний вид» — » Редактор» и в появившемся правом меню, ищите «подвал» или footer.php

Так же в самом низу вставляете свой код счетчика, так же как я описывал выше по установке на joomla.

Меня многие спрашивают:

Я сделала все как вы сказали, но у меня счетчик не появился, а почему?

Ответ: нужно очистить кеш и куки в браузере, просто вы заходите на свой сайт, а он вам показывает страницы, которые были до установки счетчиков (информация не обновилась)

Чтобы очистить кеш и куки в ghrome, нужно зайти в «настройки»-«история»-«очистить историю» -очистите все!

Все готово теперь счетчик посещений установлен на вашем сайте! Надеюсь эта статья была вам полезной!

Счетчик посещений без базы данных с PHP

У меня есть одна веб-страница, и я хотел бы отслеживать, сколько раз она посещалась без использования базы данных.

Я думал об XML, обновляя файл каждый раз, когда пользователь посещает страницу:

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

При этом каждый раз при посещении update_counter.php переменная в файле counter.php увеличивается.

В любом случае, я заметил, что если в файле counter.php есть $counter = 5 , а файл update_counter.php посещают, т. Е. 1000 пользователей в одно и то же время, файл читается 1000 раз одновременно ( поэтому значение 5 считывается во всех запросах) файл counter.php будет обновлен со значением 5+1 (=6) вместо 1005 .

Есть ли способ заставить его работать без использования базы данных?

5 ответов

Вы можете использовать flock() , который заблокирует файл, чтобы другие процессы не записывали в файл.

Изменить: обновлено, чтобы использовать fread() вместо include()

Звучит легко, но решить эту задачу действительно сложно. Причина в гоночных условиях.

Что такое гоночные условия?
Если вы открываете файл счетчика, читаете содержимое, увеличиваете число обращений и записываете обращения к содержимому файла, между всеми этими шагами может произойти много вещей, когда другие посетители одновременно откроют тот же сценарий на вашем веб-сайте. Подумайте о ситуации, когда первый запрос посетителей (поток) записывает «484049» обращений в файл счетчика char с помощью char, и за миллисекунды, пока записывается «484», второй поток считывает это значение и увеличивает его до «485», теряя большую часть твои хорошие хиты.

Не используйте глобальные блокировки!
Может быть, вы думаете о решении этой проблемы с помощью LOCK_EX . При этом второй поток должен дождаться, пока первый закончит запись в файл. Но «ждать» — это совсем не то, что вам нужно. Это означает, что каждый поток, и я действительно имею в виду, что каждый поток должен ждать других потоков. Вам нужны только бешеные боты на вашем веб-сайте, много посетителей или временная проблема с вводом-выводом на вашем диске, и никто не сможет загрузить ваш веб-сайт, пока все записи не будут завершены . и что произойдет, если посетитель не сможет открыть ваш веб-сайт . он обновит его, вызывая новые потоки ожидания / блокировки . узкое место!

Читайте так же:
Батарейка для счетчика саяны

Используйте блокировки на основе потоков
Единственное безопасное решение — мгновенно создать новый файл счетчика для одновременно запущенных потоков:

Теперь у вас есть count/count.1 , count/count.2 и т. Д. В папке счетчика, в то время как count.1 улавливает большинство совпадений. Причина в том, что условия гонки не возникают постоянно. Они случаются, только если одновременно были два потока.

Примечание. Если вы видите (намного) более двух файлов, это означает, что ваш сервер очень медленный по сравнению с количеством посетителей, которые у вас есть.

Если теперь вам нужно общее количество совпадений, вам нужно привести их в порядок (в этом примере случайным образом):

Счётчик посещений страниц

Задача стоит так: надо создать программу, которая бы заносила в базу данных адреса страничек сайта, с ip адресом пользователя и количествами кликов, именно на этой страничке. Когда сайт не большой, то проблем не возникает. Но, когда на сайте много страниц, например у нас на данный момент 24 тысячи, то файл, куда будет сохраняться информация, по размеру будет около 2,5 Мб. И, если использовать обычные методики, типа циклов, то программа будет сильно тормозить. Поэтому пришлось сделать скрипт, который вообще не использует циклы, но меняет информацию внутри файла — базы. Сделать это можно только с использованием регулярных выражений. Я не буду приводить весь скрипт, кто хочет скачайте zip архив, а приведу лишь кусок:

$_User_ip = getenv (‘REMOTE_ADDR’);

if (! empty ( $_SERVER [ ‘REQUEST_URI’ ] )) <
$_SERVER [ ‘REQUEST_URI’ ] = substr ( $_SERVER [ ‘REQUEST_URI’ ] , 1);
if (empty( $_SERVER [ ‘REQUEST_URI’ ] )) < $_SERVER [ 'REQUEST_URI' ] = 'index.html'; >
>
else $_SERVER [ ‘REQUEST_URI’ ] = ‘index.html’;

$size = filesize ( $counter_dat );
$fp = fopen ( $counter_dat , «a+» );
$_content = fread ( $fp , $size );
fclose ( $fp );
$search . preg_quote ( $_SERVER [ ‘REQUEST_URI’ ] ,»

is»;
if (preg_match( $search , $_content , $arr )) <
if ( $_User_ip != $arr [ 2 ] ) <
$_content = preg_replace ( $search , ++ $arr [ 1 ] .»t». $_User_ip .»t\3n», $_content );
>
>
else < $_content .= "1"."t". $_User_ip ."t". $_SERVER [ 'REQUEST_URI' ] ."n"; >
$fp = fopen ( $counter_dat , «w» );
fwrite ( $fp , $_content );
fclose ( $fp );

$_var = rand ();

print «кликайте на ссылках, база будет меняться.
<br><a href=’?var ‘>в базу будет записано var </a>
<br><a href=’?baza=1’>смотреть, что записалось в базу. </a>
<br><br>»;

Смысл его прост — скачали полностью всю информацию из файла, потом ищем, если такой страницы нет, то записываем её в базу, если есть, то проверяем Ip, если пользователь новый, то увеличиваем счетчик на один, и пишем новый Ip в базу. То есть, что нам это дало, а то что работает такая схема за доли секунды, а вот если бы был цикл, то не менее 10 секунд уходило бы на то, чтобы покопаться в базе данных. Её работа видна на наших страничках снизу идёт подсчёт кликов — просмотров. Ниже представлена таблица самых посещаемых страниц у нас. Покликайте на них, потом перезагрузите эту страницу и Вы увидите, что счётчик увеличился на один, на всех страницах, что вы кликали

Читайте так же:
Сколько нет путина счетчик
Страница: 1 2 3 4 5Всего страниц: 5

КликовIP пользователяАдрес URL
1145083.220.239.209index.html
138148.251.50.77dostup.html
13462.213.53.28kodurl.html
12893.89.209.107php_js.html
9545.139.87.175kodir2.html
6693.126.101.137grafika.html
64178.140.163.173array.html
5017.121.113.175phpaz.html
4595.47.253.202counter.html
42185.205.238.134mod_rewrite.acti.vars.html
42212.220.110.154dollar.html
3865.108.52.83funct.argument.array-map.html
31188.162.64.101cashe.html
31213.87.133.238poisk.html
29158.58.168.61all.php?.html
29217.107.125.84navigat.html
28145.255.2.48javascript_f.html
2788.218.50.139php_curl.html
27114.119.144.24kodoutlook.html
27114.119.144.30ini.html
26137.184.190.203robotbad.html
2631.129.91.130blog.html
2649.12.196.162php_sitemap.html
2569.160.160.58htaccess.html
24213.87.155.242xakera.html
2386.62.56.126funct.argument.date.html
2317.121.113.209php_color.html
235.128.67.145kodir.html
23114.119.142.124novosti.newss.yes.page.24.show.yes.html
22114.119.142.126javascript.html
2217.121.115.227pochta.html
2246.56.205.71php_sait.html
22148.251.50.77raznoe.html
2295.68.85.86foto.html
21148.251.50.77fotophp.html
2177.222.97.8referer.html
2131.129.91.130scrypt.html
2145.89.66.160ip_content.html
21212.220.110.154antispam.html
2117.121.115.187fsockopen.html
2146.8.248.56classphp.html
2031.173.84.143antizip.html
20213.87.134.63kalendar.html
2017.121.114.213epub.html
19148.251.50.77nachalo.html
19178.47.71.180classphp5.html
1831.129.91.130zziper.html
18114.119.142.126sf.html
1849.12.196.160funct.argument.array-merge.html
18148.251.50.77apache.html
1869.160.160.58uploadify.html
18178.187.206.94xaker.html
17178.176.73.60session.html
1789.64.78.181registr2.html
1717.121.112.131novosti.html
1731.129.91.130gos.html
17114.119.139.181svet.html
1769.160.160.58cookie.html
17172.247.34.130index.php
1731.129.91.130posixphp.html

Страница: 1 2 3 4 5Всего страниц: 5
Страница: 1 2

1. проверка существования файла
2. читаем файл
3. проверяем, файл должен содержать только одну строку
4. проверяем, в строке должны быть только цифры
5. увеличиваем счетчик
6. пишем обратно в файл
7. проверяем, записалось ли

Проверка стоит даже на существование собственных скритов движка и
файлы-шаблоны. Это скажется на скорости работы сайта.
Мне в инете попадались вот такие фразы: «сбои работы сервера»,
«хакерские атаки» и т.д., после чего сайт не работал или ругался на
отсутствие файлов.

Вопросы:
1. Возможны ли ситуации, при которых файл счетчика показов страницы
будет потерян (обрезан) в момент записи при сбоях (перегрузках, и т.д.) ?
Хакера в учет не брать.
Проблемы одновременного использования файла двумя
пользователями (чтение-запись) тоже.
2. Возможны ли потери собственных скриптов?
3. На хостере есть архивация. Я понимаю, что это, но не знаю, как
используется эта штука. Можно в двух словах объяснить, какая польза от
этой архивации?
4. Я написал выше пример «замороченного» счетчика, а что Вы думаете об
этих многочисленных проверках?

Заранее благодарю Вас.

Ответ: На моем сайте, ВСЁ сохраняется в одном файле (по поводу подсчета просмотров страниц). Раз в полгода ВСЁ это дело стирается, так как работает ПОСТОЯННО, а значит, является самой уязвимой вещью на сайте. Не вижу в этом ничего плохого, так как сама такая статистика направлена только на одно — выявление самых популярных страниц своего сайта и ПОНИМАНИЯ почему же они самые посещаемые.

Читайте так же:
Импульсный счетчик с термодатчиком

Ну и пусть, стираются раз в полгода, я сам стираю этот файл, если не происходят сбои на сервере.

По поводу торможения, могу сказать, что в Google есть функция «эффективность сайта», там все сайты с загрузкой страниц более секунды считаются медленными, когда ЭТО увидел сократил свой объем статистики до 1 часа (было сутки), но все-равно страницы генерируются за 1,5 секунды в среднем.

Выбирать Вам, что Вы хотите иметь статистику по сайту, либо чтобы сайт работал как молния.

Думаю, есть золотая середина, ищите её и все будет хорошо.

Ответ: Вы обратили внимание, что программа работает с $_SERVER [ ' QUERY_STRING ' ] , то есть со ссылками типа all.php?act=что-то, если на вашем сайте ЭТОГО нет, то есть сайт работает через $_SERVER [ ' REQUEST_URI ' ] , то есть ваши ссылки типа index.html, to.html, итд, то данный скрипт и не должен работать.

Вообще наверное использование на Вашем сайте динамических адресов — недостаток.

Можно хотя-бы — mod_rewrite применить. Тогда в Рамблере и ему подобных будет намного больше страниц. Хотя mod_rewrite у Вас на сайте и применен, но по моему мнению немного не в ту сторону.

Как создать страницу с обратным отсчетом времени с помощью PHP и jQuery

В этом уроке я хочу показать, как создать простую страницу с обратным отсчетом времени с использованием PHP и jQuery. Что такое страница с обратным отсчетом времени? В общем, это страница, которая информирует посетителей сайта, о том, что он находится в стадии разработки и сколько времени осталось до его запуска. На странице находится счетчик с обратным отсчетом времени и форма, для добавления почтового адреса заинтересованных посетителей. В последствие, на сохраненные адреса можно разослать сообщение об открытии сайта. В этом уроке я покажу как создать страницу похожую на эту:

Эту страницу можно легко изменить и украсить с помощью CSS. Также вы можете добавить логотип вашей компании и любые другие элементы, редактируя HTML код.

demosourse

Небольшое вступление

Архив, который вы можете скачать с сайта готов к использованию и содержит следующие файлы:

index.php – сама страница с обратным отсчетом (счетчик и форма для)
config.php – обеспечивает подключение к базе даннах
insert.php – php код для добавления почтового адреса в базу данных
js/jquery-1.3.2.min.js – jQuery framework
js/countdown.js – скрипт обратного отсчета времени

1. index.php

index.php является непосредственным интерфейсом страницы с обратным отсчетом, который содержит обратный счетчик и форму добавления почтового адреса.

Скрипт счетчика обратного отсчета времени

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

Читайте так же:
Счетчик для баннера html

Все что вам нужно это добавить одну строчку кода между тегами <head> </head>:

Затем, в теле страницы необходимо добавить следующий код счетчика:

Чтобы установить нужную дату, необходимо заменить строку «July 6» и «0:0:00» на необходимые вам (например, 25 декабря):

В результате получается:

Если вы хотите изменить стиль счетчика, вам необходимо внести изменения в следующие классы:

В частности класс .count_down<> изменяет формат цифр счетчика, класс .count_down sup<> определяет стиль текст «days», «hours», «minutes».

jQuery и форма ввода

Отлично, счетчик создан! Следующий шаг: подключить библиотеку jQuery к нашему сайту, для чего между тегами <head> </head> следующий код:

А теперь в теле страницы добавляем следующий код простой формы с одним полем ввода:

…и добавить в это поле сообщение после того как посетитель отправит свой почтовый адрес:

… вот результат, который должен получиться после отправки сообщения:

Форма с полем ввода исчезает с помощью красивого эффекта затухания (fade-out effect), а вместо нее появляется итоговое сообщение. А теперь, в заголовок страницы (между тегами ) после кода подключения библиотеки jQuery добавляем скрипт, который позволяет добавить ajax-функциональность. Это даст нам возможность добавить e-mail посетителя в базу данных без перезагрузки страницы:

2. insert.php

Файл insert.php содержит в себе код, который сохраняет почтовый адрес посетителя в базу данных. Для примера я создал таблицу EMAIL с одним атрибутом «email». PHP код очень прост:

Для того, чтобы скрипт заработал на вашем сервере измените параметры подключения к вашей базе данных в файле config.php, создайте таблицу и загрузите все файлы урока на сервер. Наслаждайтесь!

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: woork.blogspot.com
Перевел: Дмитрий Орлов
Урок создан: 21 Июня 2010
Просмотров: 49528
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

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

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector