Maison > développement back-end > tutoriel php > PHP implémente le code de la méthode de vérification Ali SMS

PHP implémente le code de la méthode de vérification Ali SMS

小云云
Libérer: 2023-03-20 06:20:02
original
1642 Les gens l'ont consulté

Récemment, je souhaite réaliser l'effet de la vérification SMS en PHP lors de la création d'un site Web PC, vous pouvez enregistrer des utilisateurs pour utiliser la vérification SMS, ou récupérer des mots de passe, vérifier les informations utilisateur et d'autres fonctions. Cet article vous présente principalement les informations pertinentes sur l'exemple de code d'implémentation de la vérification SMS d'Alibaba Dayu en PHP. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.

La première étape

Connectez-vous à Alibaba pour créer un compte, créez une application dans le centre de gestion des utilisateurs, confirmez l'AppKEY et l'application Secret et configurez la signature

Étape 2

Sélectionnez le téléchargement du SDK dans gestion des applications, ou Cliquez directement sur http://www.jb51.net/softs/312325.html pour télécharger, c'est gratuit cher

Décompressez les ressources téléchargées et placez-les dans le répertoire ThinkPHPLibraryVendor comme indiqué

Tous les fichiers php ne sont pas nécessaires. Utilisez simplement les fichiers php sous le dossier Alidayu comme indiqué dans l'image pour ouvrir les fichiers php dans Alidayu séparément au début. Ajoutez une ligne de code (si vous l'avez téléchargé à partir du lien que j'ai envoyé, il n'est pas nécessaire d'ajouter ce code, car je l'ai déjà ajouté)


namespace Vendor\Alidayu;
Copier après la connexion

Le but est d'éviter l'échec lors de l'appel

La troisième étape

Vous pouvez écrire du HTML


<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>
Copier après la connexion


<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>
Copier après la connexion


 <button id="sendmsg">获取验证码</button>
Copier après la connexion

Étape 4

Écrivez le code JQ (la fonction est de décompter après l'envoi du code de vérification, et le POST est passé en arrière-plan. Les données 0, 1 et 2 renvoyées par l'arrière-plan correspondent respectivement à différentes fonctions) Ce code est basé sur les


<script >

 /*-------------------------------------------*/
 var InterValObj; //timer变量,控制时间
 var count = 60; //间隔函数,1秒执行
 var curCount;//当前剩余秒数
 var code = ""; //验证码
 var codeLength = 6;//验证码长度

 $(function () {
  $(&#39;#sendmsg&#39;).click(function () {
   $.ajax({
    type: "POST",
    url: "/User/folder/child/obtainyzm",
    data: "admin=" + $(&#39;#admin&#39;).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: &#39;json&#39;

   })
  })
 })

 function SetRemainTime() {

  if (curCount == 0) {
   window.clearInterval(InterValObj);//停止计时器
   $("#sendmsg").removeAttr("disabled");//启用按钮
   $("#sendmsg").css("background-color", "");
   $("#sendmsg").val("重发验证码");
   code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
  }
  else {
   curCount--;
   $("#sendmsg").val("获取" + curCount + "秒");
  }
 }
</script>
Copier après la connexion

Il y a deux paramètres admin et mobile représentant respectivement le nom d'utilisateur et le numéro de téléphone portable.

Étape 5

Écrire le code de fonction


public function obtainyzm(){

 $mobile = $_POST[&#39;mobile&#39;];//获取手机号码
 $admin =$_POST[&#39;admin&#39;];//获取用户名

 $user = M(&#39;db_admin&#39;)->where(array(&#39;admin&#39;=>$admin))->find();

 /************引入*************/
 Vendor(&#39;Alidayu.TopClient&#39;);
 Vendor(&#39;Alidayu.AlibabaAliqinFcSmsNumSendRequest&#39;);
 Vendor(&#39;Alidayu.ResultSet&#39;);
 Vendor(&#39;Alidayu.RequestCheckUtil&#39;);

 $c = new \Vendor\Alidayu\TopClient;
 $req = new \Vendor\Alidayu\AlibabaAliqinFcSmsNumSendRequest;

 /*************配置***************/
 $code = randCode(4);//随机验证码
 $c->appkey = &#39;23******&#39;;
 $c->secretKey = &#39;6f73a******************&#39;;
 $req->setSmsType("normal");
 $req->setSmsFreeSignName("xx的测试");
 $req->setSmsParam("{code:&#39;$code&#39;}");
 $req->setRecNum("$mobile");
 $req->setSmsTemplateCode("SMS_3******");

 if($user)
 {
  if($user[&#39;mobile&#39;] == $mobile)
  {
   /*************发送验证码短信,并把验证码作为新密码保存到服务器上***************/
   //$c->execute($req); //不要开启,开启后就会有短信到账,一次几分钱..在服务器上看新密码就好
   $newpwd[&#39;pwd&#39;] = md5($code);
   D(&#39;db_admin&#39;)->where(array(&#39;admin&#39;=>$user[&#39;admin&#39;]))->save($newpwd);
   $this->ajaxreturn(0);//用户名密码匹配
  }
  else
  {
   $this->ajaxreturn(1);//用户名和手机号不匹配
  }
 }
 else
 {
  $this->ajaxreturn(2); //用户名不存在
 }
 $this->display();
}//获取验证码
Copier après la connexion

Connexe recommandé :

Comment utiliser PHP pour envoyer le code de vérification par SMS

Comment envoyer le code de vérification du service SMS Alibaba Cloud PHP SMS

JS implémente le code de vérification SMS

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal