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

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


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

Как известно, если человек заходит в новость, то к её просмотрам прибавляется 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'];

	}

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

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

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

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

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