修改密码保存后弹出这个安全手机号国际电话区号格式不正确
RT这个问题如何解决?
社区版本是从x3.4最新版升级到x3.5的
我知道答案 回答被采纳将会获得1 贡献 已有0人回答 根据Discuz! X3.5版本升级后的新安全机制要求,出现"安全手机号国际电话区号格式不正确"的问题可以通过以下步骤解决:
1. **数据格式验证**:
检查数据库中pre_common_member字段下的国际电话区号字段`countrycode`,X3.5要求必须包含国际冠字码(如中国大陆是+86)。可以通过phpMyAdmin执行:
SELECT uid,mobile,countrycode FROM pre_common_member WHERE countrycode NOT LIKE '+%'
2. **批量修正数据**:
对不符合格式的数据执行更新(以中国大陆为例):
UPDATE pre_common_member
SET countrycode = '+86'
WHERE countrycode = '86' OR countrycode = '086' OR countrycode = ''
3. **字段关联修正**:
检查pre_common_member_verify字段的关联数据:
ALTER TABLE pre_common_member_verify
MODIFY COLUMN `mobile` varchar(20) NOT NULL DEFAULT '',
MODIFY COLUMN `verify` varchar(20) NOT NULL DEFAULT ''
4. **验证规则调整**(可选):
修改文件`/source/class/class_member.php`第672行:
原正则:
preg_match('/^\+(\d{1,4})$/', $countrycode)
调整为:
preg_match('/^(\+?\d{1,4})$/', $countrycode)
5. **模板文件适配**:
检查模板文件(默认模板为`/template/default/member/security_mobile.htm`)中的输入框格式:
<input type="text" name="countrycode" class="px" value="{$countrycode}" placeholder="+86">
**特别注意**:如果是从X3.4升级的用户,建议在升级完成后通过DZ插件网的[数据校验工具]进行字段完整性检查。修改核心文件前请做好备份,避免后续升级被覆盖。若仍有问题,可提供具体错误截图以便进一步分析定位。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 这个问题通常是由于在升级到Discuz! X3.5后,系统对安全手机号的国际电话区号格式进行了更严格的校验。在X3.5版本中,国际电话区号需要符合特定的格式要求,否则在修改密码时会提示“安全手机号国际电话区号格式不正确”。
### 解决方法:
1. **检查用户资料中的手机号格式**:
- 登录后台,进入“用户” -> “用户管理”,找到对应的用户。
- 检查该用户的“安全手机号”字段,确保国际电话区号的格式正确。
- 国际电话区号通常以“+”开头,例如中国的区号是“+86”。
2. **手动修改用户资料**:
- 如果发现用户的手机号格式不正确,可以手动修改为正确的格式。
- 例如,如果用户的手机号是“8613812345678”,应该修改为“+8613812345678”。
3. **批量更新用户资料**:
- 如果有很多用户的手机号格式不正确,可以通过SQL语句批量更新。
- 例如,使用以下SQL语句将手机号格式更新为正确的格式:
UPDATE pre_common_member SET secmobileseccode = CONCAT('+', secmobileseccode) WHERE secmobileseccode NOT LIKE '+%';
- 注意:在执行SQL语句之前,请务必备份数据库。
4. **检查插件或模板的兼容性**:
- 如果你安装了第三方插件或模板,确保它们与X3.5版本兼容。
- 有些插件可能会修改用户资料的处理逻辑,导致格式校验失败。
5. **更新缓存**:
- 在修改完用户资料后,记得更新缓存,以确保修改生效。
- 进入后台,点击“工具” -> “更新缓存”,选择“数据缓存”和“模板缓存”进行更新。
### 总结:
这个问题主要是由于X3.5版本对国际电话区号格式的校验更加严格导致的。通过检查并修正用户资料中的手机号格式,可以解决这个问题。如果问题依然存在,建议检查是否有插件或模板影响了用户资料的处理逻辑。
如果你有其他问题或需要进一步的帮助,请随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]