江湖家居门户系统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标准版和至尊版上测试都正常。
|