第一步:进入数据库,给会员添加字段:
last_score_time
第二步:在文件:
/apps/home/model/MemberModel.php
找到:
// 会员登录 public function login($where) { $field = array( 'a.id', 'a.ucode', 'a.username', 'a.useremail', 'a.usermobile', 'a.gid', 'a.status', 'b.gcode', 'b.gname', 'a.last_score_time',// 加上这一行,这样才能正确取出用户上次加分的时间。 );
找到原来的登陆添加积分的代码
// 登录积分 // $score = Config::get('login_score') ?: 0; // if (is_numeric($score) && $score > 0) { // $data['score'] = '+=' . $score; // }
修改成:
// 登录积分(每天最多加一次) $score = Config::get('login_score') ?: 0; if (is_numeric($score) && $score > 0) { $lastScoreTime = $user->last_score_time; $today = date('Y-m-d'); if (substr($lastScoreTime, 0, 10) != $today) { $data['score'] = '+=' . $score; $data['last_score_time'] = get_datetime(); // 更新积分记录时间 } }
这样每天登陆就会只增加一次积分了。
增加字段 last_score_time
判断这个字段的日期是否为“今天”
如果不是今天再加积分