Создание счётчика уникальных посетителей галереи изображений.

P
На сайте с 03.05.2020
Offline
4
210

Добрый день!

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

Есть два файла: index.php (в нём находится галерея, выводимая из БД) и page3.php (в нём срабатывает счётчик).

В index.php есть такая строка:


echo "<a href='page3.php?id=".$row['id']."'>$row[name]</a>";

при клике на которую происходит переход на page3.php и срабатывает счётчик.

Проблема в том, что, почему-то, в поле hosts таблицы img кол-во кликов записывается (следственно потом и выводится на экран), только значение одной картинки, а нужно, чтобы выводились значения кол-ва уникальных посетителей всех картинок, несмотря на то, что я прописываю в коде WHERE id = '".$_GET["id"]."', чтобы в поле hosts записывались значения для каждой картинке при клике на неё.

Вот полный код файла page3.php:


<?php
mysql_connect('localhost','root','');
$res = mysql_select_db('images');
//Получаем IP-адрес посетителя и сохраняем текущую дату
$visitor_ip = $_SERVER['REMOTE_ADDR'];
$date = date('Y-m-d');
$id = $_GET['id'];
echo $id;
$current_ip = mysql_query("SELECT ip_id FROM ips2 WHERE ip_address = '$visitor_ip'");
$hosts = $a['hosts'];
if(mysql_num_rows($current_ip) != 1) {
//Заносим в базу IP-адрес текущего посетителя
mysql_query("INSERT INTO ips2(ip_address) VALUES('$visitor_ip')");
//Добавляем в базу +1 уникального посетителя (хост)
mysql_query("UPDATE img SET hosts = hosts + 1 WHERE id = '".$_GET["id"]."'");
}
$res = mysql_query("SELECT * FROM img");
$row = mysql_fetch_assoc($res);
echo '<p>Уникальных посетителей: ' . $row['hosts'] . '<br />';
?>

Существует база данных images c двумя таблицами. Таблица img c полями: id, name, samfile, hosts. И таблица ips2 с полями: ip_id, ip_address.

Помогите разобраться, в чём здесь проблема?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий