![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 25.04.11]
|
Возник не большой вопрос. Есть страница новостей, хочу сделать туда свою кнопку голосования по 5-ти бальной системе за новость. Как это реализовано? Как реализовано так, что если пользователь один раз проголосовал, то что записывается в базу, что бы он больше не мог проголосовать?
Добавлено через 2 минуты Под вопросом подрузумеваю логику, ведение статистики в базе. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
Логично наверное, что анонимного голосования быть не может и не должно?
__________________
Идите первым! Последний раз редактировалось mooncar; 22.10.2010 в 12:17. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Регистрация вовсе не отменяет анонимность, можно нарегистрировать сколько угодно аккаунтов с помощью тех же методов, с помощью которых обходятся ограничения на повторное голосование без регистрации.
Решения тут просто нет. Единственное, что можно и нужно сделать - исключить лёгкие пути повторного голосования (повторный клик, F5), с целенаправленым обходом ограничений эффективно бороться невозможно и потому не имеет смысла. Ну и помнить, что результаты голосований не бывают полностью достоверными, поэтому их нельзя использовать для принятия важных решений. |
|
|||||
|
[+1 25.04.11]
|
Цитата:
Голосовать может только зарегистрированный пользователя. Когда он проголосовал то что должно произойти в базе? В смысле его Name должен попасть в определенный столбец под названием "the_voted", и в этот столбец должны записываться через кому допустим, все имена пользователей которые проголосовали? Вот о чем речь. Это так как думаю я, должно быть. А есть ли метод, не записывать все никнеймы пользователей через кому, а другие какие то методы? Анонимность не имеет значение. Можно вывести имена проголосовавших, можно не выводить, всеровно. Не в это вопрос, а в том что выше. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Либо имена в список, либо наоборот, список пройденных голосований у каждого пользователя. Так как голосований обычно существенно меньше, чем пользователей, второе должно быть менее ресурсоёмко.
|
|
|||||
|
Modus ponens
|
А первичный ключ может быть одновременно и внешним ключем? Я, если чесно, не пробовал, но вполне возможно, что да. Ну только наверняка не имя с фамилией используется а мд5 хеш от пароль + ник.
VVall: Куда? в таблицу пользователей добавлять? Как, она ж уже существует с другим количеством полей... не переписывать же ее всю ради одного временного голосования... Конечно отдельную таблицу на время голосования.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 428
|
Цитата:
А еще можно сериализовывать массив из id голосований и отметок конкретного юзера и складывать сериализованную строку куда нить, в таблицу к юзеру, например или в файловое хранилище
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг Последний раз редактировалось leofit; 22.10.2010 в 18:50. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|