新聞中心
Dedecms如何實(shí)現(xiàn)會(huì)員登錄積分每天只限增加一次
無憂主機(jī)小編最近有接到客戶反映,dedecms的會(huì)員登錄存在一個(gè)bug,會(huì)員可以在同一天通過重復(fù)登錄的方法刷積分。為了解決這一問題,無憂主機(jī)小編在這里分享一下實(shí)現(xiàn)會(huì)員登錄積分每天只限增加一次的方法。大概思路就是先檢測(cè)當(dāng)前時(shí)間與上次登陸日期是否為同一天呢,如果是就不加積分,需要修改include文件夾下memberlogin.class.php文件,詳細(xì)講解如下: 首先無憂主機(jī)小編把思路說一下:先先檢測(cè)當(dāng)前時(shí)間與上次登陸日期是否為同一天?如果是就不加積分。 如果上次登陸日期與當(dāng)前登陸日期不相等就加積分。 具體修改: include文件夾下memberlogin.class.php文件 具體代碼大概在370行 原先代碼 //登錄增加積分(上一次登錄時(shí)間必須大于兩小時(shí)) if(time() - $logintime > 7200 && $cfg_login_adds > 0) { $dsql->ExecuteNoneQuery("Update `dede_member` set `scores`=`scores`+{$cfg_login_adds} where mid='$uid' "); } $this->M_ID = $uid; $this->M_LoginTime = time(); 修改為: //登錄增加積分(每天登陸加一次積分) $row = $dsql->GetOne("SELECT logintime FROM dede_member WHERE mid='$uid' "); $logintime = $row['logintime']; $timel = GetDateMk($logintime); $now = GetDateMk(time()); if($timel!=$now) { $dsql->ExecuteNoneQuery("Update `dede_member` set `scores`=`scores`+{$cfg_login_adds} where mid='$uid' "); } $nowtime = GetDateTimeMk(time()); $logint = GetMkTime($nowtime); $dsql->ExecuteNoneQuery("Update dede_member set logintime='$logint' where mid='$uid' "); $this->M_ID = $uid; $this->M_LoginTime = time(); 因?yàn)榘l(fā)現(xiàn)dedecms 本身記錄登陸時(shí)間不準(zhǔn),所以無憂主機(jī)小編就加了個(gè)修改登陸時(shí)間的語句,用這種笨方法實(shí)現(xiàn)了。
本文地址:http://www.gle-technology.com/dedecms/15654.html