我想在我的网站上建立一个民意调查系统,如http://dilemmaplugin.com/
,这就是我想要的,但仅适用于Wordpress ......
我不知道Symfony2是否有一些插件,我搜索但没有...所以我想问你一个关于如何制作它的演练,使用caché/ ip进行两次投票...这是我失去的地方,投票是基本的,我想:
数据库就像
id question option_a option_b
1 PS4 or Xbox One? 1523 1102
因此,如果您按下两个按钮,选项字段将执行+1,简单地作为ABC,但caché/ ip如何防止重复投票?
当你按next
时,我也在考虑制作包含随机投票的旋转木马div,但这可以通过Json完成,我想,只是用Ajax查询数据库......
谢谢
答案 0 :(得分:2)
如果您希望/需要坚持使用当前架构,防止IP地址重复投票的一种方法是您可以使用类似memcached(非常快)的内容,并且对于每个投票存储问题ID和IP地址。如果您使用Doctrine作为您的ORM,那么您可以使用preUpdateEvent来检查是否存在IP地址。
您可以在您的实体上设置自定义Validation Constraint以检查IP地址,这样可以向您的表单提供友好的消息。
另一种可能性是在控制器或模型管理器中设置Event Listener以检查IP地址。
希望能让你朝着一个不错的方向前进。