本文实例讲述了thinkPHP实现的验证码登录功能。分享给大家供大家参考,具体如下:
使用thinkphp自带的验证,实现登录页面的账号密码+验证码的验证
<?php namespace AdminController; use ThinkController; use ThinkVerify; 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(){ //设置验证码的宽高字体大小以及验证码的个数,设计其他的参照ThinkVerify里面的设置 $config=array( "imageW" => 150, "imageH" => 40, "fontSize" => 20, "length" => 4 ); $obj = new ThinkVerify($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>
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。