新闻中心 网络推广 网站建设 优化推广 首页>新闻>网站建设

会员登陆每次都会统计一次并添加积分,如何修改成每天只加一次?

时间:2025-07-03   访问量:0

第一步:进入数据库,给会员添加字段:

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

  • 判断这个字段的日期是否为“今天”

  • 如果不是今天再加积分


服务咨询
1对1咨询,专业客服为您解疑答惑
联系销售
15899750475
在线咨询
联系在线客服,为您解答所有的疑问
ARE YOU INTERESTED IN ?
感兴趣吗?

有关我们服务的更多信息,请联系项目经理

15899750475 杨先生