discuz2.5X注册提示“邮箱、密码等无效” 的解决方案

 2012年12月24日 |  0 条评论 |   735

最近摄影论坛ifen8.com部分粉友反应注册时候会提示“邮箱、密码等无效”的出错提示,我在网上找了一个解决方案,可以解决,但也只是临时的解决方案,希望discuz早点出一个BUG少点的版本吧。

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

问题原因:
由于注册表单中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. }

文章字数统计:1025 | 百度已收录

  |  Discuz  


微部落博客编辑整理发布,如有侵犯您的版权,请提供相关版权证明,博主将立即删除。
·博客大全  博客网址之家  博客导航  来路IP首页展示!   ·免费收录  ·免费推广你的博客   114.vprol.com
如果本文对您有用就 打个赏吧微信 OR 支付宝 扫描二维码
pay_weixin     pay_weixin
金额随意,您的支持是我的动力~

草根站长,博客导航,博客大全,博客网站,增加网站流量
回复 取消

欢迎评论发言,灌水及广告评论将被定期删除!