2 weixin 38257773 weixin_38257773 于 2017.09.07 12:34 提问

Java怎么设计一个用户一个按钮一天只能点击一次

有没有大佬有例子,或者说一下设计思路图片说明图片说明图片说明

4个回答

qq_35728177
qq_35728177   Ds   Rxr 2017.09.07 12:41

这种要限制一天只能点击一次的话要用到数据库了

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.07 12:55

【1】设计一个数据库,,有至少,用户id,时间(某日)两个行

【2】用户登录时,根据用户id+时间去查数据库,,

如果查到信息,,那就说明此用户不能再点击
如果没,,,,可以点击
通过response给个参数,,前端用js把按钮屏蔽掉就行(可能对方是高手,改了你的前端代码,那就需要在后台做验证,保证不会二次点击)

Small_Mouse0
Small_Mouse0 回复Melissa_wh: cookie不可以,,换个浏览器cookie就重置了,,,判断条件不好弄,,没有数据库服务器不好记录客户操作情况,,所以我还是觉的放在数据库里持久化比较妥当。
2 个月之前 回复
Small_Mouse0
Small_Mouse0 回复weixin_38257773: 每次客户端回去请求服务端啊,,,然后服务端根据数据库情况进行判断,,返回一个标志,,就是按钮是否显示,,,明天客户端请求了,数据库没信息,,ok返回一个标志让它显示(动态的呀)
2 个月之前 回复
Melissa_wh
Melissa_wh 回复小鼠标丶: 如果是按钮多个,这几个按钮都是一天只能点一次的话,那共用一各判断条件就可以了,没必要再加一列。如果这个数据不要求非常准确性的话,可以直接在前台写cookie之类的来实现也是可以的
2 个月之前 回复
weixin_38257773
weixin_38257773 前端js隐藏按钮 然后第二天怎么自动显示出来啊
2 个月之前 回复
Small_Mouse0
Small_Mouse0 回复weixin_38257773: 有呀,,,数据库至少两个字段,,用户id,时间(某日)
2 个月之前 回复
weixin_38257773
weixin_38257773 还有时间控制啊 每天能点一次
2 个月之前 回复
Small_Mouse0
Small_Mouse0 【追加】,如果按钮多个,,给数据库再加一列
2 个月之前 回复
qq_23292875
qq_23292875   2017.09.07 13:28

通过redis也可以实现,,, 拿到这个用户的标识 再加上今天的 年-月-日 的字符串 也可以在自己加点字符串 做redis的key,

每当用户点击的时候 用这个key去redis里查这个key对应的v的值(这个值可以存次数,如果key存在那么v+1,如果key不存在那么把这个key放进去
同时设置过期时间为24小时 )

qq_34926773
qq_34926773   2017.09.07 13:30

在数据库中添加一个字段储存这一次点击后就把现在的时间存进去
下一次点击时,取出时间,与现在时间对比,日期不一样则返回true否则返回false
如果你想页面不显示按,则需要页面加载时用ajax去访问数据库根据返回值来控制按钮的显示隐藏

qq_34926773
qq_34926773 那就把日期放cookie里
2 个月之前 回复
weixin_38257773
weixin_38257773 经理的意思是不让每次都访问数据库
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片