Перейти к публикации

Исправляем подсчёт просмотра новости


Рекомендованные сообщения

Как известно, если человек заходит в новость, то к её просмотрам прибавляется 1. Всё бы хорошо, но эта же единица прибавится, если он обновит страницу, так же эта единица прибавится, если он будет просматривать разные страницы комментариев одной и той же новости.

Устранить эту проблему можно так

modules/show.full.php

найти

if ($config['allow_read_count'] == "yes") {

		if ($config['cache_count'])

		$db->query("INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['id']}')");

		else $db->query("UPDATE " . PREFIX . "_post set news_read=news_read+1 where id='{$row['id']}'");

	}
заменить на
if ($config['allow_read_count'] == "yes" && $_SESSION['news_id'] != $row['id']) {

		if ($config['cache_count'])

		$db->query("INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['id']}')");

		else $db->query("UPDATE " . PREFIX . "_post set news_read=news_read+1 where id='{$row['id']}'");

		$_SESSION['news_id'] = $row['id'];

	}

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

Является пользователь гостем или зарегистрированным - не важно.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...