社区
基础编程
帖子详情
有个极度郁闷的问题。。大家帮我看看。
canyue1980
2010-07-23 10:42:48
我有一个程序实现这样一个功能,每个注册用户每天只能点击一次领取奖励。
但是呢,有的用户他网络比较卡,往往点一次,没有反映,然后就猛点猛点。。结果。。就被点了N次。。得到好多奖励啊。
流程是这样的 点击后,检查用户领取记录当天有没有领过,如果领过,就返回已领。如果没有,update用户资料,添加积分。insert用户领取记录。
...全文
143
20
打赏
收藏
有个极度郁闷的问题。。大家帮我看看。
我有一个程序实现这样一个功能,每个注册用户每天只能点击一次领取奖励。 但是呢,有的用户他网络比较卡,往往点一次,没有反映,然后就猛点猛点。。结果。。就被点了N次。。得到好多奖励啊。 流程是这样的 点击后,检查用户领取记录当天有没有领过,如果领过,就返回已领。如果没有,update用户资料,添加积分。insert用户领取记录。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
总哈哈
2010-07-23
打赏
举报
回复
JS加后台验证,这样很保险。
PIGer920
2010-07-23
打赏
举报
回复
程序判断上肯定有bug
Alfredknox
2010-07-23
打赏
举报
回复
最好还是用js验证,每次点击时都先把按钮变灰(即不可用),等执行完再变回来,这样应该可以得到保证了吧!希望能帮到你lz
江南昆虫
2010-07-23
打赏
举报
回复
应该是服务器端验证没做好吧...
amani11
2010-07-23
打赏
举报
回复
检查程序执行逻辑吧。
就算没锁表操作,
如果不是并发量非常大,常常出现,这种情况,不太正常
gumwzg
2010-07-23
打赏
举报
回复
网络有延迟 还是不行
直接用js把那个按钮变灰了
quzhongxiong
2010-07-23
打赏
举报
回复
把按钮变灰吧
number123456
2010-07-23
打赏
举报
回复
按理说无论他向服务器发送多少条请求,他也有个顺序,只要有其中一条执行了,期它的就应该是都不执行才对。
你可以用JS来做下效果
例如:
<input type="submit" name="领取" onclick="get(this)" >
<script>
function get(this){
// 先让他点一下就不能再点了,
this.disabled = true;
//然后用AJAX发送请求
ajax 代码
//如果返回成功了,那么把这个按钮给删除了,
//如果返回没成功,则把这个按钮再变成可用,并提示没成功
}
</script>
canyue1980
2010-07-23
打赏
举报
回复
这就是我的郁闷之处。。难道是我服务器配置问题。。。。这个理论上就算他多点了,那么也是前面点的先执行。。。是不是,后面点的判断过去就能识别出来他点过了,那么后面的就无效了,但是这个。。他好像同时执行了一样。
fancyivan
2010-07-23
打赏
举报
回复
怎么会呢,点第二次的时候,会判断用户已经领过了。
可以用js在前台做一下限定,在第一次点击后没有返回结果前,点再多也没用。
canyue1980
2010-07-23
打赏
举报
回复
嗯。。现在只能用Ajax等有返回结果后,按钮才变得可用。。。
试试。。不知道会不会产生这样的结果。同时在线一般在800左右。。不知道压力下会不会出现别的情况。。这个情况难道大家都没有遇到过吗?我觉得好像蛮普遍的。。。
benzzy
2010-07-23
打赏
举报
回复
可能是点第一次之后,还没插入数据,就来了点击第二次的事件。
因此,最好是在点了之后,先将该按钮变灰,再处理时间,这样就不会出现点击两次以上的情况了
canyue1980
2010-07-23
打赏
举报
回复
[Quote=引用 16 楼 kyzy_yy_pm 的回复:]
引用 12 楼 xuzuning 的回复:
只能说你的程序有问题
有时候卡,程序根本就没来得及作反应,就像腾讯的群空间右上角的那个鲜花了什么的,每天点击只可一次,可是常常可以点击很多次(只要不停就可以一直点)
[/Quote]
对的,就是类似于这个问题了。。。呵呵。。用JS可能好一点,但是如果人家恶意的呢,这个就麻烦了。。
有没有在PHP端判断的方法,是不是和线程之类的有关呢,还有就是执行顺序,并发数什么的方面限制呢?
zhaoyu0826
2010-07-23
打赏
举报
回复
用JS点击之后加个遮盖层,延迟个3秒,谁都别点了。他网速慢,机器总不会也慢吧。嘿嘿
kyzy_yy_pm
2010-07-23
打赏
举报
回复
[Quote=引用 12 楼 xuzuning 的回复:]
只能说你的程序有问题
[/Quote]
有时候卡,程序根本就没来得及作反应,就像腾讯的群空间右上角的那个鲜花了什么的,每天点击只可一次,可是常常可以点击很多次(只要不停就可以一直点)
kyzy_yy_pm
2010-07-23
打赏
举报
回复
首先在客户端判断两次点击的时间(在客户端用时间限制,一定时间内不可再点,客户端判断应该很快吧),然后再在php页面判断
张小莱
2010-07-23
打赏
举报
回复
用JS加验证,点击之后把按钮设置为不可点击
dahaidao
2010-07-23
打赏
举报
回复
看一下你判断那个地方是怎么写的。
xuzuning
2010-07-23
打赏
举报
回复
只能说你的程序有问题
lizhike
2010-07-23
打赏
举报
回复
操作的时候加上功能锁 试试
让我感到
极度
郁闷
的javascript
问题
程序做好了,但是用的时候才发现,有时候菜单显示不出来,有时候又可以。对于同一个显示菜单的html网页,我直接双击打开可以显示菜单,但通过IIS映射虚拟目录的地址打开又显示不出来,然后从另一台机上打开这个地址...
记一次react项目部署之后页面加载
极度
缓慢的
问题
然后Firefox看了一下是js的
问题
,我太难了 我太难了 这么点东西加载都这么慢 然后为script标签加个async属性,让他有异步加载,加载完之后执行 但是async因为是乱序异步的,所以会导致不按顺序执行js, 所以建议使用...
一个牛人的经历---北京八年——从
极度
贫困到财务自由
一个牛人的经历---北京八年——从
极度
贫困到财务自由 第一章: 八年巨变 我1996年7月从东北的一所曾经非常有名的工科大学毕业,快毕业时听了一位同乡校 友姐姐的话“宁到好地方,不到好单位”,经过一番各式各样的...
分类
问题
-----多标签(multilabel)、多类别(multiclass)
转自:大致上,解决multilabel的方法有两种1)转化
问题
。把
问题
转化为一个或多个单目标分类
问题
,或是回归
问题
。2)算法适应。修改学习算法使得能直接处理multilabel的数据。
问题
转化方法 dubbed PTx法。包括PT1 对...
某程序员哀叹:月薪四五万,却每天
极度
焦虑痛苦,已有生理性不适,又不敢裸辞,怎么办?...
来
看看
这位程序员的哀叹:实在是扛不住了,每天都在
极度
焦虑和痛苦中度过,早上起来要挣扎着做心理建设去上班,已经产生生理性的头晕恶心食欲不振。有工作本身的原因,更多是自己心态的
问题
,但真的不知道该怎么改变...
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章