本文實例講述了thinkPHP實現(xiàn)的驗證碼登錄功能。分享給大家供大家參考,具體如下:
使用thinkphp自帶的驗證,實現(xiàn)登錄頁面的賬號密碼+驗證碼的驗證
<?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'))){ // 注釋部分為另外一種從數(shù)據(jù)庫中驗證密碼的方法 // $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(){ //設(shè)置驗證碼的寬高字體大小以及驗證碼的個數(shù),設(shè)計其他的參照Think\Verify里面的設(shè)置 $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 網(wǎng)站管理后臺</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>
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。
【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。