Счетчик на страницу

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

#1 16 января 2015 в 10:31
Нужно на каждую страницу в iMAPs поставить свой счетчик. Где взять такую прелесть (счетчик без ссылок на другие ресурсы).
#2 3 мая 2015 в 11:20
Было бы неплохо, кстати
#3 3 мая 2015 в 11:48
Как вариант поставь от яндекса, там каждую страницу мониторит…
#4 3 мая 2015 в 14:44


Как вариант поставь от яндекса, там каждую страницу мониторит...

wayfox

Нужен отдельный: например страница клиента(в мапсе), он хочет знать сколько к нему заходили посмотреть.
#5 3 мая 2015 в 15:31
+++
#6 4 мая 2015 в 00:18
Реализация как на авито(просмотры за сутки и сколько всего).


Создаем таблицу.
CREATE TABLE `my_log` (
`page_id` varchar(32) NOT NULL default '',
`all` int(11) NOT NULL default '0',
`today` int(11) NOT NULL default '0',
`date` int(11) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Сам скрипт, обзовем его counter.php
  1.  
  2. <?php
  3. ///////////////////////////////////////////
  4. /// Скрипт статистики просмотров станиц ///
  5. ///////////////////////////////////////////
  6.  
  7. /* данные для соединения с MySQL */
  8. $INFO['sql_host'] = "localhost";
  9. $INFO['sql_user'] = "username";
  10. $INFO['sql_pass'] = "userpass";
  11. $INFO['sql_database'] = "my_db";
  12.  
  13. /* проверка, есть ли запись в MySQL */
  14. /* таблице с таким id или ее нет */
  15. function searchID($id)
  16. {
  17. $result = mysql_query ("SELECT * FROM `my_log` WHERE `page_id` LIKE '".$id."'");
  18. $num_rows = mysql_num_rows($result);
  19. if ($num_rows>0)
  20. {
  21. return True;
  22. }
  23. else
  24. {
  25. return False;
  26. }
  27. }
  28.  
  29.  
  30. /* Читает запись из MySQL таблицы */
  31. /* возвращает ассоциированный массив */
  32. function MySQLRead($id)
  33. {
  34. $id = addslashes($id);
  35. $result = mysql_query ("SELECT * FROM `my_log` WHERE `page_id` LIKE '".$id."'");
  36. return (array)mysql_fetch_assoc($result);
  37. }
  38.  
  39. /* Обновление времени для конкретной записи */
  40. function UpdateTime($id, $time)
  41. {
  42. $id = addslashes($id);
  43. $time = addslashes($time);
  44. $result = mysql_query ("UPDATE `my_log` SET `date` = '".$time."' WHERE `page_id` = '".$id."'");
  45. return $result;
  46. }
  47.  
  48. /* Обновление счетчиков для записи с указанным id */
  49. function UpdateCounders($id, $all, $today)
  50. {
  51. $id = addslashes($id);
  52. $time = addslashes($time);
  53. $result = mysql_query ("UPDATE `my_log` SET `all` = '".$all."',`today` = '".$today."' WHERE `page_id` = '".$id."'");
  54. return $result;
  55. }
  56.  
  57. /* Запись всех значений "По умолчанию" */
  58. function Default_Write($id)
  59. {
  60. $id = addslashes($id);
  61. $result = mysql_query ("INSERT INTO `my_log` ( `page_id` , `all` , `today` , `date` ) VALUES ('".$id."' , 1 , 1 , '".(time()+60*60*24)."');");
  62. return $result;
  63. }
  64.  
  65. $unical_page_id_gid = md5($_SERVER['REQUEST_URI']); // получение md5() хэша из url страницы
  66.  
  67. $link = mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']); // Соединение с MySQL
  68. mysql_select_db ($INFO['sql_database']); // Выбор базы данных
  69.  
  70. if (!searchID($unical_page_id_gid)) // существует ли запись с таким id
  71. {
  72. Default_Write($unical_page_id_gid); // запись всех значений по умолчанию
  73. }
  74. else // если не существует
  75. {
  76. $tmp = MySQLRead($unical_page_id_gid); // считаем значения
  77. $all = $tmp['all'] + 1;
  78. $today = $tmp['today'] +1;
  79. if (time()>=$tmp['date']) // если сутки с момента записи прошли
  80. {
  81. UpdateTime($unical_page_id_gid, (time()+60*60*24)); // обновим дату
  82. UpdateCounders($unical_page_id_gid, $all, 1); // обновим счетчики
  83. }
  84. else // если еще нет
  85. {
  86. /* обновим счетчики */
  87. UpdateCounders($unical_page_id_gid, $all, $today);
  88. }
  89. /* устанавливаем константу с текущими значениями счетчиков */
  90. define("Today_and_all_counter", "Всего просмотров этой страницы: $all. Сегодня: $today");
  91. }
  92.  
  93. mysql_close($link); // Разрываем соединение с MySQL
  94. ?>
  95.  
Для того, что бы он работал, его нужно "подключить" к нужному скрипту, например в template.php, добавив строчку include(' counter.php ');. А в том месте, где должно находиться сообщение о том, сколько человек просмотрело данную страницу – строчку echo Today_and_all_counter;.

#7 9 июня 2015 в 13:11


Реализация как на авито(просмотры за сутки и сколько всего).



Создаем таблицу.
CREATE TABLE `my_log` (
`page_id` varchar(32) NOT NULL default '',
`all` int(11) NOT NULL default '0',
`today` int(11) NOT NULL default '0',
`date` int(11) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Сам скрипт, обзовем его counter.php
  1.  
  2.  
  3.  

CaT

Добрый день ребятки, а не подскажет кто-то из знающих, что надо подправить что бы счетчик сбрасывался в 00 00 ночи, а то сейчас в 12 00 дня сбрасывается.
#9 23 апреля 2017 в 18:30


Реализация как на авито(просмотры за сутки и сколько всего).



Создаем таблицу.
CREATE TABLE `my_log` (
`page_id` varchar(32) NOT NULL default '',
`all` int(11) NOT NULL default '0',
`today` int(11) NOT NULL default '0',
`date` int(11) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Сам скрипт, обзовем его counter.php
  1.  
  2.  
  3.  

CaT

Вы написали "А в том месте, где должно находиться сообщение о том, сколько человек просмотрело данную страницу – строчку echo Today_and_all_counter;."
подскажите в каком именно файле?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.