灰儿 发表于 2016-8-6 20:09:18

江湖家居V6.0版会员手机认证收不到短信验证码

江湖家居门户系统V6.0标准版,后台已开启会员手机认证短信功能,但是会员手机认证仍收不到短信验证码




与会员手机认证相关的网页文件有:
\system\models\member\magic.mdl.php(定义send_verify_mobile函数)
其中定义send_verify_mobile函数代码为:

    public function send_verify_mobile($uid)
    {   
      if(!$member = K::M('member/member')->member($uid)){
            $this->err->add('要验证用户不存在或已经删除',411);
      }else if(!$member['mobile']){
            $this->err->add('该用户的手机号码不存在',411);
      }else if($member['verify'] & self::VERIFY_MOBILE){
            $this->err->add('已经通过验证过了',411);
      }else if(!$mobile = K::M('verify/check')->mobile($member['mobile'])){
            $this->err->add('您的手机号码不全法',412);
      }else{
            $code = K::M('content/string')->Random(6, 1);
            $session =K::M('system/session')->start();
            $session->set('MOBILE_VERIFY_CODE',$code, 1800); //30分钟有效
            K::M('sms/sms')->send($member['mobile'],'verify_mobile',array('uname'=>$member['uname'], 'verify_code'=>$code));
         // echo $code;die;
      }
    }
\system\home\controllers\ucenter\member\verify.ctl.php (调用send_verify_mobile函数)其中调用send_verify_mobile函数代码为:

    public function mobile($loc=null)
    {
      if($loc == 'send'){
            if(K::M('member/magic')->send_verify_mobile($this->uid)){
                $this->err->add('验证码已经发出,请注意查收');
            }
      }else if($data = $this->checksubmit('data')){
            if(!$data['code']) {
                $this->err->add('验证码不能为空', 201);
            }else if (K::M('member/magic')->verify_mobile($this->uid,$data['code'])) {
                K::M('system/integral')->commit('mobile', $this->MEMBER, '手机验证通过');
                $this->err->add('恭喜您,验证手机成功');
            }
      } else {
            $this->tmpl = 'ucenter/member/verify/mobile.html';
      }
    }
\themes\default\ucenter\member\verify\mobile.html(模板文件)


经反复测试,应该是第三方56短信平台发送延迟问题,查看"jh_sms_log"数据表中的已发送短信记录,发现程序已经成功向第三方短信平台发送短信,是第三方短信平台没有及时发,在江湖家居6.0标准版和至尊版上测试都正常。







页: [1]
查看完整版本: 江湖家居V6.0版会员手机认证收不到短信验证码