Помощник
|
Скрипт голосования ЗА и ПРОТИВ |
winston3d
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
7.2.2013, 18:21;
Ответить: matroskin8
Сообщение
#2
|
|
Привет.
Хранить все IP в одной ячейке, конечно же, не целесообразно. Под IP лучше выделить отдельную таблицу. Тогда структура БД будет следующей: например, оцениваются статьи. В таблице статей добавляется поле под общий результат голосования (дефолтное значение поля - 0), либо 2 поля (UP и DOWN). В таблице IP будет 3 поля - ID, IP, ID_статьи. Соответственно при выводе статей можно и кнопку голосования сделать неактивной, если текущий IP голосовал за статью. Ну а на сервере перед добавлением голоса проверяется есть ли запись в таблице IP, для которой выполняется условие: IP_юзера = IP_в_таблице_IP И ID_голосуемой_статьи = ID_в_таблице_IP. Если таковая запись есть, значит голос не принимается. если IP клиента есть в IP_UP, то разрешаем голосовать только ПРОТИВ если IP клиента есть в IP_DOWN, то разрешаем голосовать только ЗА ИМХО, не логично. Юзер должен голосовать только раз - либо понравилось, либо не понравилось. |
|
|
winston3d
|
Сообщение
#3
|
|
Ага, спасибо за подсказку... Придумал как ещё лучше сделать:
Создаём таблицу со следующими полями - IP | ID | VOTE при голосовании создаём запись занося IP в соответствующее поле, то же самое с ID и 1 если голосовали за и 0 если голосовали против. Что бы подсчитать голоса за определённую страницу - делаем выборку значений где ID соответствует id страницы и значение поля VOTE равно 1 и аналогично для подсчёта голосов против. Ну а дальше всё понятно... Привет. Ну в контакте же можно поставь лайк и убрать его... Всё нормХранить все IP в одной ячейке, конечно же, не целесообразно. Под IP лучше выделить отдельную таблицу. Тогда структура БД будет следующей: например, оцениваются статьи. В таблице статей добавляется поле под общий результат голосования (дефолтное значение поля - 0), либо 2 поля (UP и DOWN). В таблице IP будет 3 поля - ID, IP, ID_статьи. Соответственно при выводе статей можно и кнопку голосования сделать неактивной, если текущий IP голосовал за статью. Ну а на сервере перед добавлением голоса проверяется есть ли запись в таблице IP, для которой выполняется условие: IP_юзера = IP_в_таблице_IP И ID_голосуемой_статьи = ID_в_таблице_IP. Если таковая запись есть, значит голос не принимается. ИМХО, не логично. Юзер должен голосовать только раз - либо понравилось, либо не понравилось. Но тогда в таблице будет много записей - это плохо? |
|
|
alex159 |
27.2.2013, 21:45;
Ответить: alex159
Сообщение
#4
|
|
[member=winston3d], Лучше уже самому написать, если знаете как это делать. Ну для начала поставьте зашиту от чайников это кукиксы. А также по IP.
Лучше если было бы голосование с авторизацией через социальные сети(но это не удобно), тогда ограничение на голосование с одного аккаунта 999 дней( если хотите что бы вобще не голосовали больше одного раза) |
|
|
wolverine_hb |
6.3.2013, 17:27;
Ответить: wolverine_hb
Сообщение
#5
|
|
|
Сделайте 2 таблицы, первая pages
Структура: id | name | url Вторая таблица ips Структура: pid | ip | value Открывается страница с голосованием и сразу же проверяется ip пользователя, если записи в таблице ips нет, то предлагается 2 варианта, после выбора выполняется запрос, который добавляет запись в таблицу ips со значениями: ИД_СТРАНИЦЫ, ИП, UP/DOWN. Если же совпадение в таблице ips найдено, то из него берется значение (из поля value) и предлагается поменять значение и запись обновляется. Так же могу рекомендовать вам ипользовать текстовый файл для хранения таблицы ips. И так же стоит обратить внимание при определении ip адреса пользователя, при использовании прокси механизм весьма усложняется.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Скрипт поисковика видео StrongTube | 3 | 3josoft | 1574 | 14.8.2023, 14:45 автор: 3josoft |
|
Скрипт приема платежей p2p с карты на карту card2card Скрипт приема платежей p2p с карты на карту card2card |
15 | zladey1986 | 7834 | 26.3.2023, 8:54 автор: Palundra |
|
Продам скрипт перевода постов и комментариев | 4 | Tutich | 787 | 19.1.2023, 17:23 автор: Tutich |
|
Битрикс скрипт нативной установки | 3 | Nemo | 2451 | 20.11.2022, 10:09 автор: Webmaster24 |
|
Посоветуйте скрипт интернет-магазина (партнерская программа - критична!) |
9 | Aloof | 7365 | 2.12.2021, 15:03 автор: Ilonek |
Текстовая версия | Сейчас: 20.4.2024, 17:16 |