大连做网站
首页 > 建站教程 > 解决discuz论坛注册提示邮箱、密码无效

解决discuz论坛注册提示邮箱、密码无效

2016-12-21

注册的时候,输入正确的邮箱,或者密码确认的时候 ,提示输入不正确

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

解决方法:
打开function_core.php,找到random函数
function random($length, $numeric = 0) {
       $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
       $seed = $numeric ? (str_replace('0', '', $seed).'012340567890') : ($seed.'zZ'.strtoupper($seed));
       $hash = '';
       $max = strlen($seed) - 1;
       for($i = 0; $i < $length; $i++) {
              $hash .= $seed{mt_rand(0, $max)};
       }
       return $hash;
}
 
复制代码更改为:
function random($length, $numeric = 0) {
        $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
        $seed = $numeric ? (str_replace('0', '', $seed).'012340567890') : ($seed.'zZ'.strtoupper($seed));
        if($numeric) {
                $hash = '';
        } else {
                $hash = chr(rand(1, 26) + rand(0, 1) * 32 + 64);
                $length--;
        }
        $max = strlen($seed) - 1;
        for($i = 0; $i < $length; $i++) {
                $hash .= $seed{mt_rand(0, $max)};
        }
        return $hash;
}