15621857753

phpcmsV9注册新会员默认点数过高时用户组错乱

来源:齐鲁CMS 栏目:PHPCMS 阅读: 日期:2023-03-23

Phpcms v9管理后台设置了默认注册会员积分和会员组,结果在前台用户注册的时候却出现的了用户组错乱的情况。这种情况一般不会出现,在给默认注册会员积分大过一定程度的时候才会出现。

Phpcms v9默认会员组,新手上路积分50、中级会员150分,Phpcms v9会员组设置,当设置新会员默认点数为100,当于第一个会员组(新手上路)积分时,前台注册会员组则会出现错误。

phpcms,phpcms会员注册,phpcms用户组

修复方法如下:

找到phpcms/modules/member/index.php第985行

        //如果超出用户组积分设置则为积分最高的用户组
        if($point > max($grouppointlist)) {
            $groupid = key($grouppointlist);
        } else {
            foreach ($grouppointlist as $k=>$v) {
                if($point >= $v) {
                    $groupid = $tmp_k;
                    break;
                }
                $tmp_k = $k;
            }
        }
        return $groupid;

修改为

        //如果超出用户组积分设置则为积分最高的用户组
        if($point > max($grouppointlist)) {
            $groupid = key($grouppointlist);
        } else {
            foreach ($grouppointlist as $k=>$v) {
                if($point >= $v) {
                    $groupid = $k;
                    break;
                }
            }
        }
        return $groupid;

修改截图如下:

phpcms,phpcms会员注册,phpcms用户组

这个Bug隐藏得比较深,只有在会员模块配置(位置:用户 > 会员管理 > 会员模块配置)时给到新会员默认点数超过一两个会员组的积分时才会出现。