dedecms會員登錄積分每天只限增加一次的實現(xiàn)思路及代碼

字號:


    首先把思路說一下:先檢測當前時間與上次登陸日期是否為同一天?如果是就不加積分。
    如果上次登陸日期與當前登陸日期不相等就加積分。
    具體修改:
    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)了。