thinkphp驗證碼登入功能的實現樣本

來源:互聯網
上載者:User
本文執行個體講述了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('post.yanzhengma','','trim'))){          // 注釋部分為另外一種從資料庫中驗證密碼的方法          // $data['name'] = I('post.user_name');          // $data['psd'] = I('post.password');          // $row = M('user')->where($data)->find();          $name = I('post.user_name');          $psd = I('post.password');          $str = 'name ="'.$name. '" and tel = "'.$psd.'"';          var_dump($str);          $row = M('user')->where($str)->find();          if($row)            $this->redirect("Index/index");          else            $this->redirect('login','',1,'使用者名稱或密碼錯誤');        }        else{          $this->redirect('login','',1,'驗證碼錯誤');        }      }      $this->display();    }    public function verifyImg(){      //設定驗證碼的寬高字型大小以及驗證碼的個數,設計其他的參照Think\Verify裡面的設定      $config=array(        'imageW'  => 150,        'imageH'  => 40,        'fontSize' => 20,        'length'  => 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='URL/verifyImg/'+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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.