Создание счётчика уникальных посетителей галереи изображений.
Страницы: 1
Создание счётчика уникальных посетителей галереи изображений., Не совсем так, как нужно работает код.
Добрый день!Одна из идей кода заключается в том, чтобы при двух условиях происходила запись в базу данных. А именно нужно, чтобы в промежуточную таблицу ip_id_address заносилось кол-во уникальных посетителей (hosts + 1) и выводилось потом на экран, для каждой картинки по отдельности с условием, что это новый пользователь (ip_address).
Есть файл index.php, в котором находится галерея с картинками. С index.php идёт переход в файл page3.php, в котором происходит запись в БД, выборка из Бд и вывод на экран кол-ва уникальных посетителей.
Файл page3.php:

Код
<?php
// Работа с адресной строкой
$id = intval($_GET['id']);
if (!$id) {
    die('Хьюстон, у ас проблемы');
}
// Кофигурация подключения к СУБД
define("DB_SERVER", "localhost");
//define("DB_PORT", "3306");
define("DB_USERNAME", "root");
define("DB_PASSWORD", "");
define("DB_BASE", "images");
define("DB_CHARSET", "utf-8");
// Подключение к БД
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_BASE);
mysqli_set_charset($link, DB_CHARSET);
if (!$link) {
    die('Хьюстон, у ас проблемы');
}
// Работаем с данными полученными от пользователя
// Проверяем есть ли такой IP в таблице, можно просто повесить уникальный индекс на колонку :)
$host = $_SERVER['REMOTE_ADDR'];
$result = mysqli_query($link, "SELECT ip_address FROM id_ip_address WHERE ip_address = '" . $host . "'");
if (!mysqli_num_rows($result)) {
    $result = mysqli_query($link, "INSERT INTO id_ip_address SET ip_address = '" . $host . "' ");
}
$user = mysqli_query($link, "SELECT COUNT(ip_address) FROM id_ip_address WHERE ip_address = '" . $host . "' ");

// Автоинкремент статистики просмотров
$statistic = mysqli_query($link, "SELECT hosts FROM img WHERE id = " . $id);
if (!mysqli_num_rows($statistic)) {
    $statistic = mysqli_query($link, "INSERT INTO id_ip_address SET hosts = 1");
} else {
    $statistic = mysqli_query($link, "UPDATE id_ip_address SET hosts = hosts + 1");
}
$count = mysqli_query($link, "SELECT SUM(hosts) FROM id_ip_address");
// Необходимо позаботится о безопасности и сделать обработку ошибок :)
$sum = mysqli_fetch_row($count);
echo "Уникальных посетителей: " . mysqli_num_rows($user);
echo "<br />";
echo "Просмотров: " . $sum[0];
mysqli_close($link);
?>
 
Я пробую связать два условия в одно (id картинки + ip_address ), например в строку 

Код
 $user = mysqli_query($link, "SELECT COUNT(ip_address) FROM id_ip_address WHERE ip_address = '" . $host . "' ");
добавить AND id = '$id', но ничего не получается.

То есть, если я, например, вручную меняю ip_address в таблице (то есть, их становится 2), то и выводится на экран уникальных посетителей должно 2, а этого не происходит. Выводится, по-прежнему Уникальных посетителей: 1.
Как связать эти два условия?
Есть 3 таблицы в БД:
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
01:00 AI под надзором. Минцифры готовят клеймо для контента 
18:07 ИКС Яндекс АПдейт 1 апреля 2026. Обновлён алгоритм расчёта 
19:02 Gambling Craft - гемблинг по белому 
17:03 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
15:51 Яндекс-ап 20 марта и похороны ChatGPT, Claude и Gemini. Считаем убытки 
10:16 Бесплатное расширение для Chrome — проверка ссылок прямо на странице 
10:12 Gmail разрешил менять основной адрес - теперь можно убрать старые ники без переноса аккаунта 
19:38 Monitex: Мониторинг с кэшбэком 80% в USDT 
19:31 Мониторинг обменников Сrypto-scout.io 
16:22 Рассылки СМС/SMS, Вайбер/Viber, Ватсап/Whatsapp, Телеграм/Telegram любой тематики по всему миру 
13:14 Аккаунты HeadHunter - Продам/верифицирую аккаунты работодателей hh.ru (HeadHunter, HH.RU, ХХ ) 
13:14 Продам аккаунты HeadHunter (Верификация на ИП) 
11:36 Продам сайт - продукты питания 
08:16 PROSMM-SHOP — Надёжный сервис продвижения в социальных сетях 
01:50 Точные прогнозы на футбол 
23:54 молодильные яблоки и живая вода 
04:35 Ставки на супер тренды в спорте 
15:49 Огородники 
16:25 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
22:45 С юмором по жизни! 
15:42 Голландцы влепили Grok по яйцам - теперь нельзя раздевать реальных людей, штраф 100к евро в день