首先把思路說一下:先檢測當前時間與上次登陸日期是否為同一天?如果是就不加積分。如果上次登陸日期與當前登陸日期不相等就加積分。具體修改: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();因為發現dedecms 本身記錄登陸時間不準 就加了個修改登陸時間的語句,用這種笨方法實現了。