Как сделать счетчик уникальные просмотры на php?

Пользователь

от johnpaul.blick , в категории: PHP , 2 года назад

Как сделать счетчик уникальные просмотры на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от guillermo , 2 года назад

@johnpaul.blick 

Для создания счетчика уникальных просмотров на PHP можно использовать различные подходы. Один из таких подходов заключается в использовании файла cookie для хранения информации о том, что пользователь уже посетил страницу. Вот пример кода, который можно использовать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Имя файла cookie, который будет использоваться для хранения информации о просмотрах
$cookie_name = "page_views";

// Проверяем, установлен ли файл cookie
if(!isset($_COOKIE[$cookie_name])) {

  // Если файл cookie не установлен, увеличиваем счетчик просмотров
  $count = 1;

  // Устанавливаем файл cookie с именем $cookie_name и значением $count на 24 часа
  setcookie($cookie_name, $count, time() + (86400 * 1), "/");

} else {

  // Если файл cookie уже установлен, получаем его значение и увеличиваем счетчик просмотров
  $count = ++$_COOKIE[$cookie_name];

  // Обновляем файл cookie с новым значением $count на 24 часа
  setcookie($cookie_name, $count, time() + (86400 * 1), "/");

}

// Выводим счетчик просмотров
echo "Эта страница была просмотрена $count раз(а)";


В этом примере мы используем функцию setcookie() для установки файла cookie с именем $cookie_name и значением $count. Если файл cookie уже установлен, мы получаем его значение с помощью переменной $_COOKIE[$cookie_name] и увеличиваем счетчик просмотров на 1.


Обратите внимание, что мы также устанавливаем время жизни файла cookie на 24 часа с помощью параметра time() + (86400 * 1). Это означает, что файл cookie будет храниться на компьютере пользователя в течение 24 часов, даже если он закроет браузер.

Пользователь

от jeremy_larkin , год назад

@johnpaul.blick 

Кроме использования файла cookie, можно также использовать базу данных для хранения информации о просмотрах. Вот другой пример кода, который демонстрирует это:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php

// Параметры подключения к базе данных
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// Устанавливаем подключение к базе данных
$conn = new mysqli($servername, $username, $password, $dbname);

// Проверяем успешность подключения
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Имя таблицы, которая будет использоваться для хранения информации о просмотрах
$table_name = "page_views";

// Получаем IP-адрес пользователя
$ip = $_SERVER['REMOTE_ADDR'];

// Проверяем, существует ли запись о просмотре для текущего IP-адреса
$sql = "SELECT * FROM $table_name WHERE ip = '$ip'";
$result = $conn->query($sql);

if ($result->num_rows == 0) {

    // Если запись не существует, увеличиваем счетчик просмотров
    $count = 1;

    // Вставляем новую запись в базу данных с IP-адресом и счетчиком просмотров
    $sql = "INSERT INTO $table_name (ip, views) VALUES ('$ip', $count)";
    $conn->query($sql);

} else {

    // Если запись уже существует, получаем текущее значение счетчика просмотров и увеличиваем его
    $row = $result->fetch_assoc();
    $count = ++$row['views'];

    // Обновляем запись в базе данных с новым значением счетчика просмотров
    $sql = "UPDATE $table_name SET views = $count WHERE ip = '$ip'";
    $conn->query($sql);

}

// Выводим счетчик просмотров
echo "Эта страница была просмотрена $count раз(а)";

// Закрываем подключение к базе данных
$conn->close();

?>


В этом примере мы используем базу данных MySQL для хранения информации о просмотрах. Сначала мы устанавливаем соединение с базой данных, затем проверяем, существует ли запись о просмотре для текущего IP-адреса. Если запись не существует, мы вставляем новую запись с IP-адресом и значением счетчика просмотров равным 1. Если запись уже существует, мы получаем текущее значение счетчика просмотров из базы данных и увеличиваем его на 1. Затем мы обновляем запись в базе данных с новым значением счетчика просмотров. Наконец, мы выводим счетчик просмотров на экран и закрываем соединение с базой данных.


Обратите внимание, что код не обрабатывает случаи, когда подключение к базе данных не выполнено успешно или имеются ошибки при выполнении SQL-запросов. В реальном приложении следует учесть эти возможности и предусмотреть соответствующую обработку ошибок.