dilikpulatov
@dilikpulatov
веб-программист

Как можно правильно реализовать лайк/дизлайк в новостной сайте?

Здравствуйте!
в новостной сайте нужно реализовать лайк/дизлайк....я такового раньше не сделал
количество лайки так и сохраняется в БД но что-то нужно сделать чтобы человек снова не лайкнут и любой человек может лайкат
есть вариант: сохранить в БД каждый человек по их айп адрес или что-то похоже к этому
или сохранить в кеш браузер
но я сам в БД не хочу сохранить. а кеш можно удалить и занова поставит лайк..что вы предлагайте?
(кстати в сайте выводиться только недельный новостей....старый новости не будет выводиться)
  • Вопрос задан
  • 726 просмотров
Пригласить эксперта
Ответы на вопрос 1
@WaterSmith
Android-разработчик. Java, Kotlin
IP адрес не годится в качестве идентификатора пользователя, он может измениться, он может быть выдан другому пользователю. Запись в куках (в кэше) тоже не годится, у пользователя может быть несколько компьютеров, пользователь может предоставить доступ со своего компьютера другому пользователю, в конце концов это может быть общедоступный компьютер. Если у вас на сайте предполагается система своих лайков, не привязанная к какой либо соцсети. То нужно делать авторизацию, присваивать пользователям идентификаторы, и регистрировать лайки по ним.
В качестве счетчика лайков, логично будет хранить не просто счетчик у новости, а писать отдельную таблицу: id новости, id пользователя, лайк, дизлайк. Когда пользователь ставит лайк - искать его id + id новости, в этой таблице, и если есть, то ставить единицу либо в поле лайк, либо дизлайк.
Для счетчика под новостью брать сумму лайков, дизлайков по id новости.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы