Здравствуйте форумчане! Хочу реализовать рейтинг материала типа (+) и (-), но с условиями, что пользователь голосует за id материала один раз. Есть таблица с МАТЕРИАЛ (id, title, text и т.д.). Рассуждения таковы: застрял на одной идеи: - создаем таблицу РЕЙТИНГ (`id`,` id_МАТЕРИАЛА(связь)`,` plus`, `minus`, `ip`) 1) В поле `ip` записывать через запятую все ip-адреса проголосовавших за данный id-материал и при голосовании проверять наличие.? понимаю, что должно быть иное решение. Задайте правильное направление к размышлению. Спасибо.
Если по IP хотите ограничить, нужно IP писать не в ту же таблицу, через запятую, поскольку будет неудобно делать выборку. Нужно создать ещё одну таблицу rang_IP(id, IP).
Спасибо. Выборку я предполагал, что сделает функция Код (Text): (preg_match("/\b127.0.0.13\b/i", $voteresult['ip'])) ,подозреваю правда, что с точки производительности не самая лучшая идея. А вот как добавить ip через запятую в поле таблицы - вопрос?
У меня динамика и я буду на первом месте =), так - как вы проверяете проголосовавшего по ip. Тем - более к тому же - это будет так просто, всего - то сбросить соединение, 1 секунда и новый ip.
Я не осведомлен в этом вопросе, но прежде немного гуглил, что бы узнать каким образом меняется динамический ip, нашел что он может и годами не меняться, все зависит от провайдера (когда ему задумается сбросить что-то там). Если вы правы, какой вариант устройства рейтинга по вашему будет наиболее правильным?
правильного нет. но можно сохранять идентификатор в куках, в хранилище, во флеше, короче заюзайте evercookie
Я правильно понял: если пользователь нажимает кнопку "+" или "-" проверяем наличие куки с "id" материала и если ее нет, то учитываем голос(запись в базу данных) и добавляем куку с id материала.
я думаю, стоит учитывать и запоминать на стороне сервера. а на клиенте держать идентификатор клиента.
Что?! Слышали о модеме хоть раз? Есть, если сайт осмыслен активацией gold аккаунта, не всем захочется платить бабло ради накрутки. В прочем также более правильный будет после входа голосовать только по аккаунту, то есть этот акк не сможет голосовать много раз за одно и тоже. А если ты подумаешь о множественных регистрациях и накрутке акками, то это легко вычислить "твинка".
даже на платном хабре усё нормально с покупкой акков для голосования. ташто в наше время бесполезно об этом переживать.