Система опросов для Symfony2
Я хочу сделать систему опросов на моем сайте, как http://dilemmaplugin.com/
это то, что я хочу, но только для Wordpress...
Я не знаю, есть ли какой-нибудь плагин для Symfony2, я искал, но ничего... Поэтому я хотел бы попросить вас рассказать о том, как это сделать, используя caché/ip, чтобы не голосовать дважды... Это где я заблудился, голосование основное, я думаю
База данных будет как
id question option_a option_b
1 PS4 or Xbox One? 1523 1102
Так что, если вы нажмете две кнопки, поля опций будут иметь значение +1, просто как ABC, но как насчет кэша / ip, предотвращающего дублирование голосов?
Я также думал о том, чтобы сделать какой-нибудь карусельный div, который будет содержать случайные голоса при нажатии next
но это может быть сделано через Json, я думаю, просто запросив DB с помощью Ajax...
Спасибо
1 ответ
Если вы хотите / должны придерживаться своей текущей схемы, один из способов предотвращения дублирования голосов по IP-адресу заключается в том, что вы можете использовать что-то вроде http://memcached.org/(очень быстро) и для каждого голосования сохраняйте идентификатор вопроса и IP-адрес. Если вы используете Doctrine в качестве ORM, вы можете использовать preUpdateEvent для проверки существования IP-адреса.
Вы можете настроить собственное ограничение валидации для вашей сущности, чтобы также проверить IP-адрес, что дает преимущество в представлении дружественных сообщений вашим формам.
Другая возможность - настроить прослушиватель событий в вашем контроллере или диспетчере моделей для проверки IP-адреса.
Надеюсь, что это заставит вас двигаться в каком-то направлении.