安装使用 Discuz x2.5注册提示“邮箱、密码等无效” 临时解决方案

[复制链接]
ARCHY明星会员实名认证 发表于 2012-11-9 10:14:49 [安装使用] 显示全部楼层 |阅读模式 上一主题 下一主题

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
问题现象:
    注册的时候,输入正确的邮箱,或者密码确认的时候 ,提示输入不正确

问题原因:
    由于注册表单中name是随机产生的,当产生name为纯数字的时候会产生问题。

解决方案:
    打开function_core.php,找到random函数
  1. function random($length, $numeric = 0) {
  2.        $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
  3.        $seed = $numeric ? (str_replace('0', '', $seed).'012340567890') : ($seed.'zZ'.strtoupper($seed));
  4.        $hash = '';
  5.        $max = strlen($seed) - 1;
  6.        for($i = 0; $i < $length; $i++) {
  7.               $hash .= $seed{mt_rand(0, $max)};
  8.        }
  9.        return $hash;
  10. }
复制代码
更改为:
  1. function random($length, $numeric = 0) {
  2.         $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
  3.         $seed = $numeric ? (str_replace('0', '', $seed).'012340567890') : ($seed.'zZ'.strtoupper($seed));
  4.         if($numeric) {
  5.                 $hash = '';
  6.         } else {
  7.                 $hash = chr(rand(1, 26) + rand(0, 1) * 32 + 64);
  8.                 $length--;
  9.         }
  10.         $max = strlen($seed) - 1;
  11.         for($i = 0; $i < $length; $i++) {
  12.                 $hash .= $seed{mt_rand(0, $max)};
  13.         }
  14.         return $hash;
  15. }
复制代码
推荐阅读:

1、X2.5论坛开启内存优化出现提醒负数的解决方法

2、注册用户名字符没有到15个字符便提示错误问题的解决方法(针对X2.5 0901版本)

3、X2.5 升0901版本后无法输入验证码的解决方法





上一篇:解决Discuz! X2.5 无法上传大象素高清图片的问题
下一篇:Discuz! 邮件发送失败排查思路

大神点评5

富计庙 发表于 2012-11-9 15:58:53 [安装使用] 显示全部楼层
越办越好~~~~~~~~~`  
jcx880330 发表于 2012-11-9 15:58:53 [安装使用] 显示全部楼层
有才的不在少数啊  
Zada 发表于 2012-11-9 15:58:53 [安装使用] 显示全部楼层
哈哈 必须支持~~~  
百度娘 发表于 2012-11-11 19:59:33 [安装使用] 显示全部楼层
应该加分  
vilidea 发表于 2012-11-11 19:59:33 [安装使用] 显示全部楼层
不错不错,我喜欢看  
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表