江湖家居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]