Maison  >  Article  >  développement back-end  >  Fonction de connexion par code de vérification implémentée par thinkPHP

Fonction de connexion par code de vérification implémentée par thinkPHP

不言
不言original
2018-05-04 13:40:002868parcourir

Cet article présente principalement la fonction de connexion par code de vérification implémentée par thinkPHP et analyse les techniques d'implémentation pertinentes de la fonction de vérification de connexion par code de vérification de thinkPHP. Les amis dans le besoin peuvent s'y référer

Les exemples de cet article. décrire la vérification mise en œuvre par la fonction de connexion thinkPHP Code. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Utilisez la propre vérification de thinkphp pour vérifier le mot de passe du compte + le code de vérification sur la page de connexion

<?php
  namespace Admin\Controller;
  use Think\Controller;
  use Think\Verify;
  class LoginController extends Controller{
    public function login(){
      if($_POST){
        $obj = new Verify();
        if($obj->check(I(&#39;post.yanzhengma&#39;,&#39;&#39;,&#39;trim&#39;))){
          // 注释部分为另外一种从数据库中验证密码的方法
          // $data[&#39;name&#39;] = I(&#39;post.user_name&#39;);
          // $data[&#39;psd&#39;] = I(&#39;post.password&#39;);
          // $row = M(&#39;user&#39;)->where($data)->find();
          $name = I(&#39;post.user_name&#39;);
          $psd = I(&#39;post.password&#39;);
          $str = &#39;name ="&#39;.$name. &#39;" and tel = "&#39;.$psd.&#39;"&#39;;
          var_dump($str);
          $row = M(&#39;user&#39;)->where($str)->find();
          if($row)
            $this->redirect("Index/index");
          else
            $this->redirect(&#39;login&#39;,&#39;&#39;,1,&#39;用户名或密码错误&#39;);
        }
        else{
          $this->redirect(&#39;login&#39;,&#39;&#39;,1,&#39;验证码错误&#39;);
        }
      }
      $this->display();
    }
    public function verifyImg(){
      //设置验证码的宽高字体大小以及验证码的个数,设计其他的参照Think\Verify里面的设置
      $config=array(
        &#39;imageW&#39;  => 150,
        &#39;imageH&#39;  => 40,
        &#39;fontSize&#39; => 20,
        &#39;length&#39;  => 4
      );
      $obj = new \Think\Verify($config);
      $obj->entry();
    }
  }

Partie de formulaire

<form action="login" method="post">
  <table valign="top" width="50%">
 <tr><td colspan="2"><h4 style="letter-spacing:1px;font-size:16px;">RainMan 网站管理后台</h4></td></tr>
 <tr><td>管理员:</td><td><input type="text" name="user_name" value="" /></td></tr>
 <tr><td>密    码:</td><td><input type="password" name="password" value="" /></td></tr>
 <tr><td>验证码:</td>
   <td><input type="text" name="yanzhengma" value="" style="width:80px;"/></td>
   <td><img src="__URL__/verifyImg" onclick="this.src=&#39;__URL__/verifyImg/&#39;+Math.random()" alt=""/></td>
 </tr>
 <tr class="bt" align="center"><td> <input type="submit" value="登陆" /></td><td> <input type="reset" value="重填" /></td></tr>
  </table>
</form>

Recommandations associées :

thinkPHP implémente plusieurs champs Méthode de requête de correspondance floue

thinkphp implémente le téléchargement de fichiers et le téléchargement de fichiers


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!

Déclaration:
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