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

 更新时间:2017年10月28日 11:16:16   作者:ikesi-X  
这篇文章主要介绍了thinkPHP实现的验证码登录功能,结合实例形式分析了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程序设计有所帮助。

相关文章

  • PHP服务器端API原理及示例讲解(接口开发)

    PHP服务器端API原理及示例讲解(接口开发)

    下面小编就为大家分享一篇PHP服务器端API原理及示例讲解(接口开发),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • php实现mysql封装类示例

    php实现mysql封装类示例

    这篇文章主要介绍了php实现mysql封装类示例,需要的朋友可以参考下
    2014-05-05
  • thinkPHP5框架auth权限控制类与用法示例

    thinkPHP5框架auth权限控制类与用法示例

    这篇文章主要介绍了thinkPHP5框架auth权限控制类与用法,结合实例形式分析了thinkPHP5框架扩展auth权限控制类的定义与使用方法,代码注释中备有较为详尽的使用说明与数据库操作语句,需要的朋友可以参考下
    2018-06-06
  • php利用单例模式实现日志处理类库

    php利用单例模式实现日志处理类库

    该日志类利用单例模式,节省资源。自行判断文件大小,超出指定大小则按序自行创建文件。
    2014-02-02
  • Yii2.0框架模型多表关联查询示例

    Yii2.0框架模型多表关联查询示例

    这篇文章主要介绍了Yii2.0框架模型多表关联查询,结合实例形式总结分析了Yii2.0框架多表关联查询相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • ThinkPHP公共配置文件与各自项目中配置文件组合的方法

    ThinkPHP公共配置文件与各自项目中配置文件组合的方法

    这篇文章主要介绍了ThinkPHP公共配置文件与各自项目中配置文件组合的方法,涉及array_merge函数将多个数组合并的方法,是ThinkPHP项目开发中非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • PHP编实现程动态图像的创建代码

    PHP编实现程动态图像的创建代码

    只要安装一些第三方的库文件并具有一定的几何知识,就可以利用PHP来创建和处理图像了。利用PHP创建动态图像是相当容易的一件事情。下面,笔者将详细介绍如何实现。
    2008-09-09
  • PHP大文件分割上传 PHP分片上传

    PHP大文件分割上传 PHP分片上传

    这篇文章主要为大家详细介绍了PHP大文件分割上传,PHP分片上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    本文将介绍抽象类、接口和一种称为契约式编程的技术。使用这些OPP机制,所编写的代码就不限于只能计算或者输出内容了。这些机制能够在概念层次上定义类之间交互作用的规则,也为应用程序的扩展和定制提供了基础。
    2014-06-06
  • php生成PDF格式文件并且加密

    php生成PDF格式文件并且加密

    本文给大家介绍的是如何使用php生成pdf文件,并且把该文件加密或设置访问密码的方法,有需要的小伙伴可以参考下。
    2015-06-06

最新评论