<code><?php public function sign(){ //每日签到 $this->check_login(); $m_time=$this->getMillisecond(); $con['si_time']=array('gt',date('Y-m-d')); $ranking=M('sign')->where($con)->count(); if($ranking){ $haha=intval($ranking); switch ($haha){ case 1: $pm=5;//给5块 $row=2; $ch="亚军"; break; case 2: $pm=3;//给两块 $row=2; $ch="季军"; break; default: $pm=0; } }else{ $pm=10;//给10块赠金券 $row=1; $ch="冠军"; } if($pm>0){ $this->insertGiveCoupon($this->memberID,$pm); $memo="<br>您是今天的签到{$ch},成功领取{$pm}赠金券"; } $dao=M('sign');//实例化sign对象 $current=date('Y-m-d H:i:s',time()); $hasSign=$dao->where("userId={$this->memberID}")->find(); $count=$hasSign['si_count']; //查找会员名 $member=M('Members'); $where['id']=$this->memberID; $memberName=$member->where($where)->field('name')->find(); //$this->membername=$memberName['name']; $this->uid=$this->memberID; //如果执行成功 if($hasSign){ $lastSignDay=strtotime("{$hasSign['si_time']}"); $lastSign=date('Y-m-d',$lastSignDay); $today=date('Y-m-d',time()); if($lastSign==$today){ //echo "今天已签到,您已连续签到 <font color="green"> {$count} </font> 天,连续签到5天每天+5元代金券!"; $this->ajaxReturn('', "今天已签到!", 0);exit(); } $residueHour=24+24-date('H',$lastSignDay); //有效的签到时间 (签到当天剩余的小时+1天的时间) $formatHour=strtotime(date('Y-m-d H',$lastSignDay).':00:00');//签到当天 2014-12-07 18:00:00 $lastSignDate=strtotime("+{$residueHour}hour",$formatHour);//在2014-12-07 18:00:00 基础上+ 有效的签到时间 if(time()>$lastSignDate){ //当前时间 > 上一次签到时间 $count=1; }else{ $count=$count+1; } $sign=$dao->where("userId={$this->memberID}")->save(array('si_time'=>$current,'si_count'=>$count,'m_second'=>$m_time)); //签到表 }else{ $sign=$dao->add(array('userId'=>$this->memberID,'si_count'=>1,'si_time'=>$current,'m_second'=>$m_time)); //签到表 $count=1; } if($sign){ //第一天签到+1 第二天签到+2 第三天签到+3 第四天签到+4 第五天+5 连续5天每天+5 switch ($count){ case 1: $sc_score=1; break; case 2: $sc_score=2; break; case 3: $sc_score=3; break; case 4: $sc_score=4; break; default: $sc_score=5; } $dao->where("userId={$this->memberID}")->setInc('coin',$sc_score); //签到金额累加 $coin=$dao->where("userId={$this->memberID}")->field('coin')->find(); if($coin['coin']>=20){ $dao->where("userId={$this->memberID}")->setDec('coin',20);//如果满20将生成一张20的代金券 $this->insertCoupon('会员签到代金券',20,$this->memberID); } $data=array( 'userId'=>$this->memberID, 'sc_score'=>$sc_score, 'sc_detail'=>'签到+'.$sc_score, 'sc_type'=>1 ); M('score')->add($data); //积分表 if($count>0){ $this->ajaxReturn('', "签到成功!您已签到,成功领取{$sc_score}元代金券!{$memo}", 1);exit(); }else{ $this->ajaxReturn('', "您已签到!", 1);exit(); } }else{ $this->ajaxReturn('', "签到失败,请稍后重试!", 0);exit(); } } //私有方法,生成代金券 private function insertCoupon($name,$amount,$mid){ $data['name']=trim($name); $data['amount']=$amount; $data['coupon'] = array(); $data['coupon']=md5(uniqid(md5(microtime(true)),true)); $data['start_time']=time(); $data['expire_time']=strtotime("+2 year"); $data['dateline']=time(); $data['status']=1; $data['user_id']=$mid; M('coupon')->add($data); } //私有方法,生成赠金券 private function insertGiveCoupon($mid,$amount){ $map['user_id']=$mid; $map['status']=1; $res=M('givecoupon')->where($map)->find(); if($res){ M('givecoupon')->where($map)->setInc('amount',$amount); }else{ $data['name']='赠金券'; $data['amount']=$amount; $data['coupon'] = array(); $data['coupon']=md5(uniqid(md5(microtime(true)),true)); $data['start_time']=time(); $data['expire_time']=strtotime("next year"); $data['dateline']=time(); $data['status']=1; $data['user_id']=$mid; M('givecoupon')->add($data); } }</code>
回复内容:
<code><?php public function sign(){ //每日签到 $this->check_login(); $m_time=$this->getMillisecond(); $con['si_time']=array('gt',date('Y-m-d')); $ranking=M('sign')->where($con)->count(); if($ranking){ $haha=intval($ranking); switch ($haha){ case 1: $pm=5;//给5块 $row=2; $ch="亚军"; break; case 2: $pm=3;//给两块 $row=2; $ch="季军"; break; default: $pm=0; } }else{ $pm=10;//给10块赠金券 $row=1; $ch="冠军"; } if($pm>0){ $this->insertGiveCoupon($this->memberID,$pm); $memo="<br>您是今天的签到{$ch},成功领取{$pm}赠金券"; } $dao=M('sign');//实例化sign对象 $current=date('Y-m-d H:i:s',time()); $hasSign=$dao->where("userId={$this->memberID}")->find(); $count=$hasSign['si_count']; //查找会员名 $member=M('Members'); $where['id']=$this->memberID; $memberName=$member->where($where)->field('name')->find(); //$this->membername=$memberName['name']; $this->uid=$this->memberID; //如果执行成功 if($hasSign){ $lastSignDay=strtotime("{$hasSign['si_time']}"); $lastSign=date('Y-m-d',$lastSignDay); $today=date('Y-m-d',time()); if($lastSign==$today){ //echo "今天已签到,您已连续签到 <font color="green"> {$count} </font> 天,连续签到5天每天+5元代金券!"; $this->ajaxReturn('', "今天已签到!", 0);exit(); } $residueHour=24+24-date('H',$lastSignDay); //有效的签到时间 (签到当天剩余的小时+1天的时间) $formatHour=strtotime(date('Y-m-d H',$lastSignDay).':00:00');//签到当天 2014-12-07 18:00:00 $lastSignDate=strtotime("+{$residueHour}hour",$formatHour);//在2014-12-07 18:00:00 基础上+ 有效的签到时间 if(time()>$lastSignDate){ //当前时间 > 上一次签到时间 $count=1; }else{ $count=$count+1; } $sign=$dao->where("userId={$this->memberID}")->save(array('si_time'=>$current,'si_count'=>$count,'m_second'=>$m_time)); //签到表 }else{ $sign=$dao->add(array('userId'=>$this->memberID,'si_count'=>1,'si_time'=>$current,'m_second'=>$m_time)); //签到表 $count=1; } if($sign){ //第一天签到+1 第二天签到+2 第三天签到+3 第四天签到+4 第五天+5 连续5天每天+5 switch ($count){ case 1: $sc_score=1; break; case 2: $sc_score=2; break; case 3: $sc_score=3; break; case 4: $sc_score=4; break; default: $sc_score=5; } $dao->where("userId={$this->memberID}")->setInc('coin',$sc_score); //签到金额累加 $coin=$dao->where("userId={$this->memberID}")->field('coin')->find(); if($coin['coin']>=20){ $dao->where("userId={$this->memberID}")->setDec('coin',20);//如果满20将生成一张20的代金券 $this->insertCoupon('会员签到代金券',20,$this->memberID); } $data=array( 'userId'=>$this->memberID, 'sc_score'=>$sc_score, 'sc_detail'=>'签到+'.$sc_score, 'sc_type'=>1 ); M('score')->add($data); //积分表 if($count>0){ $this->ajaxReturn('', "签到成功!您已签到,成功领取{$sc_score}元代金券!{$memo}", 1);exit(); }else{ $this->ajaxReturn('', "您已签到!", 1);exit(); } }else{ $this->ajaxReturn('', "签到失败,请稍后重试!", 0);exit(); } } //私有方法,生成代金券 private function insertCoupon($name,$amount,$mid){ $data['name']=trim($name); $data['amount']=$amount; $data['coupon'] = array(); $data['coupon']=md5(uniqid(md5(microtime(true)),true)); $data['start_time']=time(); $data['expire_time']=strtotime("+2 year"); $data['dateline']=time(); $data['status']=1; $data['user_id']=$mid; M('coupon')->add($data); } //私有方法,生成赠金券 private function insertGiveCoupon($mid,$amount){ $map['user_id']=$mid; $map['status']=1; $res=M('givecoupon')->where($map)->find(); if($res){ M('givecoupon')->where($map)->setInc('amount',$amount); }else{ $data['name']='赠金券'; $data['amount']=$amount; $data['coupon'] = array(); $data['coupon']=md5(uniqid(md5(microtime(true)),true)); $data['start_time']=time(); $data['expire_time']=strtotime("next year"); $data['dateline']=time(); $data['status']=1; $data['user_id']=$mid; M('givecoupon')->add($data); } }</code>
楼主代码都没有贴全!
而且就算贴全了,你这变量名称
估计大家也懒得看!

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器