Как передать из Jquery клик кнопки в PHP, чтобы PHP обновил БД на +1 и передал обратно в Jquery, чтоб обновить счётчик на странице, увеличив на +1?

Имеется Jquery-скрипт и по клику кнопки на странице выполняется инкремент. Но нужно создать PHP, который бы принимал, обрабатывал и обновлял БД на +1, только единожды от каждого нового пользователя. Может, кто поможет? Что написать в counter.php ??

index.php

<div class="block-up" name="statistics">   
    <form id="ratingsLike" method="post">      
        <button id="btnLike" type="button"><i id="thumbs-up" class="far fa-thumbs-up"></i></button>   
    </form> 
     
    <div class="content-like-dislike">
        <span class="thanks">Thank you very much!</span> 
        <p id="like_count" data-id="<?= $id ?>">0<?= $likes ?></p>    
    </div>
</div>

main.js

$('#btnLike').on('click', function(event) {
  event.preventDefault();

  $.ajax({
    type: "post",
    url: "https://site.com/counter.php",
    data: ("id=" + $("#like_count").attr("data-id")),
    dataType: "text",
    success: function(result) {
      if (result) {
        $("#like_count").text(Number($("#like_count").text()) + 1);
      } else alert("Error");
    }
  });
});

Спасибо за внимание!


Ответы (2 шт):

Автор решения: CoderYooda

Сперва Вам нужно определиться с уникализацией юзера. Что значит определить пользователя по компьютеру? Из доступных в реквесте значений есть только куки, ip, ну браузер можно определить. И ничему из этого доверять нельзя, всё это легко подменить.

→ Ссылка
Автор решения: Самоучка

Нашёл выход сам! Вообщем, сделал так: Определение текущего местоположения пользователя по нажатию одной из кнопок (Like / Dislike), по координатам (latitude и longitude), с сохранением в localStorage. Тем самым, исключил повторные нажатия на любые кнопоки.

→ Ссылка