年后不断在忙,更新比较慢,今天CMSYOU在这里与大家分享最近在实际项目中碰到的一个问题:Phpcms v9管理后台设置了默认注册会员积分和会员组,结果在前台用户注册的时候却出现的了用户组错乱的情况。这种情况一般不会出现,在给默认注册会员积分大过一定程度的时候才会出现。
Phpcms v9默认会员组,可以看出新手上路积分50、中级会员150分
Phpcms v9会员组设置,当设置新会员默认点数为100,当于第一个会员组(新手上路)积分时,前台注册会员组则会出现错误
根据排查,最后找到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;
其中的$tmp_k前后没有定义或用到,问题就在这里,修正代码如下:
//如果超出用户组积分设置则为积分最高的用户组
if($point > max($grouppointlist)) {
$groupid = key($grouppointlist);
} else {
foreach ($grouppointlist as $k=>$v) {
if($point >= $v) {
$groupid = $k;
break;
}
}
}
return $groupid;
截图记录如下:
Phpcms默认会员注册判断用户组出错的Bug修正方法
Phpcms v9这个Bug隐藏得比较深,只有在会员模块配置(位置:用户 > 会员管理 > 会员模块配置)时给到新会员默认点数超过一两个会员组的积分时才会出现。
2、本站永久网址:https://www.cizhui.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:95114390进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。 项目转载于网络!
7.本网站仅作项目分享,不提供任何收益保障,如遇充值环节或绑定支付账户或输入支付密码之类的异常步骤,建议停止操作!风险自辩!平台不对操作项目的损失负责!