Home > Article > Backend Development > PHP implements Ali SMS verification method code
Recently I want to implement PHP to achieve the effect of SMS verification. When building a PC website, you can register users to use the SMS verification function, or retrieve passwords, verify user information and other functions. This article mainly introduces the relevant information of the example code of PHP to implement Alibaba Dayu SMS verification. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.
The first step
Log in to Alibaba to register an account, create an application in the user management center, confirm the AppKEY, App Secret and configuration signature
##Step 2
namespace Vendor\Alidayu;The purpose is to avoid failure when calling
The third step
<p class="form-group"> <p class="field field-icon-right"> <input type="text" id="admin" class="input" name="admin" placeholder="用户名" data-validate="required:请填写用户名,length#>=5:用户长度不符合要求" /> <span class="icon icon-user"></span> </p> </p>
<p class="form-group"> <p class="field field-icon-right"> <input id="mobile" type="tel" class="input" name="mobile" placeholder="手机号码" onblur="checkmobile(this)" /> <span class="icon icon-mobile"></span> </p> </p>
<button id="sendmsg">获取验证码</button>
Step 4
<script > /*-------------------------------------------*/ var InterValObj; //timer变量,控制时间 var count = 60; //间隔函数,1秒执行 var curCount;//当前剩余秒数 var code = ""; //验证码 var codeLength = 6;//验证码长度 $(function () { $('#sendmsg').click(function () { $.ajax({ type: "POST", url: "/User/folder/child/obtainyzm", data: "admin=" + $('#admin').val()+"&mobile="+$("#mobile").val() , success: function (result) { if(result==0){ curCount = count; //设置button效果,开始计时 $("#sendmsg").css("background-color", "LightSkyBlue"); $("#sendmsg").attr("disabled", "true"); $("#sendmsg").val("获取" + curCount + "秒"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 // alert("验证码发送成功,请查收!"); } if(result==1){ alert("用户名和手机号不匹配!"); } if(result==2){ alert("用户名不存在!"); } }, dataType: 'json' }) }) }) function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#sendmsg").removeAttr("disabled");//启用按钮 $("#sendmsg").css("background-color", ""); $("#sendmsg").val("重发验证码"); code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 } else { curCount--; $("#sendmsg").val("获取" + curCount + "秒"); } } </script>There are two parameters admin and mobile representing the user name and mobile phone number respectively.
Step 5
public function obtainyzm(){ $mobile = $_POST['mobile'];//获取手机号码 $admin =$_POST['admin'];//获取用户名 $user = M('db_admin')->where(array('admin'=>$admin))->find(); /************引入*************/ Vendor('Alidayu.TopClient'); Vendor('Alidayu.AlibabaAliqinFcSmsNumSendRequest'); Vendor('Alidayu.ResultSet'); Vendor('Alidayu.RequestCheckUtil'); $c = new \Vendor\Alidayu\TopClient; $req = new \Vendor\Alidayu\AlibabaAliqinFcSmsNumSendRequest; /*************配置***************/ $code = randCode(4);//随机验证码 $c->appkey = '23******'; $c->secretKey = '6f73a******************'; $req->setSmsType("normal"); $req->setSmsFreeSignName("xx的测试"); $req->setSmsParam("{code:'$code'}"); $req->setRecNum("$mobile"); $req->setSmsTemplateCode("SMS_3******"); if($user) { if($user['mobile'] == $mobile) { /*************发送验证码短信,并把验证码作为新密码保存到服务器上***************/ //$c->execute($req); //不要开启,开启后就会有短信到账,一次几分钱..在服务器上看新密码就好 $newpwd['pwd'] = md5($code); D('db_admin')->where(array('admin'=>$user['admin']))->save($newpwd); $this->ajaxreturn(0);//用户名密码匹配 } else { $this->ajaxreturn(1);//用户名和手机号不匹配 } } else { $this->ajaxreturn(2); //用户名不存在 } $this->display(); }//获取验证码Related recommendations:
How to use PHP to send SMS verification code
How to send Alibaba Cloud PHP SMS SMS service verification code
JS implements SMS verification code
The above is the detailed content of PHP implements Ali SMS verification method code. For more information, please follow other related articles on the PHP Chinese website!