• 2067阅读
  • 22回复

测试图片投票帖 [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看楼主 倒序阅读 使用道具 绿 楼主  发表于: 2018-08-03 07:20:59 星期五
—— 管理操作 •  zhangjingyu 从"建站历程◇调试升级"移动(2018-08-12) ——
投票地址 http://www.vtu425.com/read-htm-tid-3494.html(点击复制
投票说明 这里是投票说明部分,看看在哪里,哈哈。
开始时间 2018-08-04 08:00 结束时间 2022-12-31 08:00
活动状态 投票限制每个会员可投10票|每个IP限制投50票

投票项目:(指向图片可以查看投票简介,点击图片可以查看选手相关主题)


百变美人季沙龙入围作品
三号选手
票数:33


百变美人季沙龙入围作品
二号选手
票数:38


百变美人季沙龙入围作品
一号选手
票数:13


测试图片投票
1条评分铜币+1
贾玉华 铜币 +1 赞!!! 2018-11-06
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 沙发  发表于: 2018-08-03 15:46:14 星期五  点亮(0)
积极回帖也是一种美德!!!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 板凳  发表于: 2018-08-06 08:11:34 星期一  点亮(0)
您已经为该选手投过票了
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 地板  发表于: 2018-08-06 08:13:47 星期一  点亮(0)
设置“每个会员可投5票”,为什么只能投1票呢?
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 4楼 发表于: 2018-08-06 22:31:30 星期一  点亮(0)
已经找到原因了,原来是逻辑判断有问题。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 5楼 发表于: 2018-08-06 22:32:18 星期一  点亮(0)
困了,睡觉,明天再更新吧。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 6楼 发表于: 2018-08-06 22:34:09 星期一  点亮(0)
先把代码贴上,明天再说“逻辑”错在哪里。
  1. if($ext_action == 'vote'){
  2.     S::gp(array('tid','item_id'));
  3.     if(!in_array($groupid, $picvote_config['vote_permission'])){
  4.         Showmsg('您没有权限投票!');
  5.     }    
  6.     $post_info = $db->get_one("SELECT * FROM pw_ext_picvote_post WHERE tid =".S::sqlEscape($tid));
  7.     if($post_info['end_time']<$timestamp){
  8.         Showmsg('投票已结束!');
  9.     }
  10.     if($post_info['start_time']>$timestamp){
  11.         Showmsg('投票尚未开始!');
  12.     }
  13.     $idvote_count = $db->get_value("SELECT COUNT(*) FROM pw_ext_picvote_log WHERE tid =".S::sqlEscape($tid)." AND uid =".S::sqlEscape($winduid));    
  14.     if($post_info['num_limit']<=$idvote_count){
  15.         Showmsg('对不起,您本主题投票次数已用完');
  16.     }
  17.     $ipvote_count = $db->get_value("SELECT COUNT(*) FROM pw_ext_picvote_log WHERE tid =".S::sqlEscape($tid)." AND ip =".S::sqlEscape($onlineip));    
  18.     if($post_info['ip_limit']<=$ipvote_count){
  19.         Showmsg('对不起,您所在IP已经达到最大允许投票数。');
  20.     }    
  21.     $already_vote = $db->get_value("SELECT COUNT(*) FROM pw_ext_picvote_log WHERE item_id =".S::sqlEscape($item_id)." AND uid =".S::sqlEscape($winduid));    
  22.     if($already_vote){
  23.         Showmsg('您已经为该选手投过票啦!');
  24.     }
  25.     $db->update("UPDATE pw_ext_picvote_item SET vote=vote+1 WHERE id=".S::sqlEscape($item_id));    
  26.     $db->update("INSERT INTO pw_ext_picvote_log SET ". S::sqlSingle(array(
  27.             'item_id'    => $item_id,
  28.             'tid'        => $tid,
  29.             'uid'        => $winduid,
  30.             'username'    => $windid,
  31.             'ip'        => $onlineip,
  32.             'vote_time'    => $timestamp,
  33.         )));
  34.     echo "操作成功!\treload";
  35.     ajax_footer();
  36. } elseif ($ext_action ==
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 7楼 发表于: 2018-08-07 12:18:01 星期二  点亮(0)
hack/ext_thread/threadtype/picvote/index.php
楼上代码3-5行为投票权限判断;
6-12行为活动投票时间判断;
13-16行为主题投票次数判断;
17-20行为ip投票次数判断;
21-24行为判断是否已给某选手(如本主题中的一号选手或二号选手)投票了;
25-33行为更新两个数据表。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 8楼 发表于: 2018-08-07 13:35:02 星期二  点亮(0)
以一号选手为例,她的item_id为6。当我第一次为她投票时,代码26-33行会把相关数据(27-32行,item_id(选手/项目id,6)、tid(主题tid,3494)、uid(投票用户uid,2)、username(投票用户名,zhangjingyu)、ip(投票用户登录ip,127.0.0.1)、vote_time(投票时间戳))写入数据表pw_ext_picvote_log。

当我再次准备给一号选手投票时,第21行代码会从pw_ext_picvote_log中查询数据,查询“item_id=6并且uid=2”的行数,由于我已经给一号选手投过票了,所以是有一行数据的。那么,第22行的判断自然是成立的,再然后,第23行输出提示信息“您已经为该选手投过票啦!”

代码我不懂,大意就是这样。所以,21行到24行的查询判断结果就是:在整个投票活动过程中,投票用户最多给某一位选手投一票。

这就是我所谓的“逻辑判断有问题”,事实上应该是代码写得不够周到。如果用户只能给某位选手投一票,那有什么意思呢?昨天晚上和今天早上我想了想,应该是这个意思。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 9楼 发表于: 2018-08-07 13:50:17 星期二  点亮(0)
我能想到的修改方案:还是以item_id和uid再加上vote_time进行降序查询,筛选一条数据。如果vote_time(投票时间)大于今天凌晨零点零分零秒的时间戳(我也不知道叫什么)$tdtime,那就说明今天已经给某位选手投过票了,输出类似的提示信息,否则,今天继续能给某位选手投1票。如此修改后,每天都可以给某位选手投一票。我想,这样才比较符合实际吧。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!