本文实例讲述了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>
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
© 版权声明
THE END
暂无评论内容