thinkPHP实现的验证码登录功能示例

本文实例讲述了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>密&nbsp;&nbsp;&nbsp;&nbsp;码:</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>&nbsp;<input type=\"submit\" value=\"登陆\" /></td><td>&nbsp;<input type=\"reset\" value=\"重填\" /></td></tr>
  </table>
</form>

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容