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

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

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

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

Похожие вопросы