新聞中心
Dedecms如何實現(xiàn)會員登錄積分每天只限增加一次
無憂主機小編最近有接到客戶反映,dedecms的會員登錄存在一個bug,會員可以在同一天通過重復登錄的方法刷積分。為了解決這一問題,無憂主機小編在這里分享一下實現(xiàn)會員登錄積分每天只限增加一次的方法。大概思路就是先檢測當前時間與上次登陸日期是否為同一天呢,如果是就不加積分,需要修改include文件夾下memberlogin.class.php文件,詳細講解如下: 首先無憂主機小編把思路說一下:先先檢測當前時間與上次登陸日期是否為同一天?如果是就不加積分。 如果上次登陸日期與當前登陸日期不相等就加積分。 具體修改: include文件夾下memberlogin.class.php文件 具體代碼大概在370行 原先代碼 //登錄增加積分(上一次登錄時間必須大于兩小時) 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(); 因為發(fā)現(xiàn)dedecms 本身記錄登陸時間不準,所以無憂主機小編就加了個修改登陸時間的語句,用這種笨方法實現(xiàn)了。
本文地址:http://www.love62.cn/dedecms/15654.html