thinkphp驗證碼登入功能的實作範例

黄舟
發布: 2023-03-16 20:18:02
原創
1286 人瀏覽過

本文實例講述了thinkPHP實作的驗證碼登入功能。分享給大家供大家參考,具體如下:

使用thinkphp自帶的驗證,實作登入頁面的帳號密碼+驗證碼的驗證

<?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();
    }
  }
登入後複製

表單部分

<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>
登入後複製

以上是thinkphp驗證碼登入功能的實作範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!