Symfony2的民意调查系统

时间:2013-12-27 21:55:30

标签: php mysql symfony plugins walkthrough

我想在我的网站上建立一个民意调查系统,如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查询数据库......

谢谢

1 个答案:

答案 0 :(得分:2)

如果您希望/需要坚持使用当前架构,防止IP地址重复投票的一种方法是您可以使用类似memcached(非常快)的内容,并且对于每个投票存储问题ID和IP地址。如果您使用Doctrine作为您的ORM,那么您可以使用preUpdateEvent来检查是否存在IP地址。

您可以在您的实体上设置自定义Validation Constraint以检查IP地址,这样可以向您的表单提供友好的消息。

另一种可能性是在控制器或模型管理器中设置Event Listener以检查IP地址。

希望能让你朝着一个不错的方向前进。