原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)

拓展压缩包的使用方式详细介绍



1:将拓展包解压:ThinkPHP3.1.2_Extend.zip   --> 将其下的 \Extend  文件全部复制

2:将复制的文件放入项目中 E:\wamp\www\thinkphp\ThinkPHP\Extend(安装的时候这里面是空文件),你自己的项目目录

即可

=============================以下是,拓展包中验证码的使用========================================

比如用到拓展包的验证码:(看手册-->杂项)

在:E:\wamp\www\thinkphp\Home\Lib\Action\ 新建:PublicAction.class.php  代码如下  --必须加

//直接使用code里面的代码即可生成验证码

class PublicAction extends Action{  //按照手册说明走就行

function
code(){

import('ORG.Util.Image');

Image::buildImageVerify();

}

}

//目录/thinkphp/index.php/Public/code点击变换验证码onclick

前台模板页面调用验证码:

<img src="__APP__/Public/code" onclick='this.src=this.src+"?"+Math.random()'/> 即可生成验证码

全部html登录页面

<form action='__URL__/do_login' method='post' name='myForm'>

用户名:<input type='text' name='username'/><br/>

密 码:<input type='password' name='password'/><br/>

验证码:<input type='text' name='code'/>

<img src="__APP__/Public/code" onclick='this.src=this.src+"?"+Math.random()'/>

</br/>

<img src='__PUBLIC__/Images/leyangjun.gif' onclick="sub()"/>

</form>

//登录判断验证码  加:LoginAction.class.php(模块)

class
LoginAction extends Action {

function do_login(){

//获取用户名和密码等。和数据库中比对,有该用户允许登录否则输出错误页面

$username=$_POST['username'];

$password=$_POST['password'];

$code=$_POST['code'];  //输入框;<input type='text' name='code'/>



if($_SESSION['verify']!==md5($code)){

$this->error('验证码错误!');

}





$m=M('User');

$where['username']=$username;

$where['password']=$password;

$i=$m->where($where)->count();

if($i>0){

$this->redirect('User/index');

}else{

$this->error('该用户不存在');

}

}

}

Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)的更多相关文章

  1. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  2. ThinkPHP表单令牌验证功能详细介绍

    注:TP版本为3.1.3 在ThinkPHP框架下,两次提交同一个表单,比如提交信息后在浏览器点击后退退回上次的页面,重新点击提交按钮,就会提示“表单令牌错误”的信息. ThinkPHP新版内置了表单 ...

  3. linux awk 内置函数详细介绍(实例)

    这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y ...

  4. Linux下rpm、yum和源码三种安装方式详细介绍

    第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通 ...

  5. 通过jarjar.jar来替换jar包名的详细介绍

    有时候我们根据一些场景 需要替换第三方jar包的包名,比如Android广告平台sdk,更换他们jar包包名的话,可以防止市场检测到有广告插件,所以,今天就介绍一下如何使用jarjar.jar工具来替 ...

  6. 深度包检测(DPI)详细介绍

    目录 简介 背景 流量识别 常用功能 具体功能 做法 特征识别 架构举例 部署方式 串接方式 并接方式 存在问题 检测引擎举例 参考文献 简介 DPI(Deep Packet Inspection)深 ...

  7. Redis的两种持久化方式详细介绍

    一,Redis是一款基于内存的数据库,可以持久化,在企业中常用于缓存,相信大家都比较熟悉Redis了,下面主要分享下关于Redis持久化的两种模式 1.半持久化模式(RDB,filesnapshott ...

  8. SSH2框架实现注冊发短信验证码实例

    这两天開始写程序了,让用SSH2框架,曾经没有接触过Java项目更没有接触过SSH2框架,所以用注冊開始了我Java之旅.后来发现,后台代码挺easy理解的,跟.net的差点儿相同.就是层与层之间的调 ...

  9. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

随机推荐

  1. MySQL主键添加/删除

    2改动数据库和表的字符集alter database maildb default character set utf8;//改动数据库的字符集alter table mailtable defaul ...

  2. spoj 1812 lcsII (后缀自动机)

    spoj 1812 lcsII (后缀自动机) 题意:求多个串的lcs,最多10个串,每个串最长10w 解题思路:后缀自动机.先建好第一个串的sam,然后后面的串拿上去跑(这个过程同前一题).sam上 ...

  3. GTest交流与经验总结

    GTest交流与经验总结 原文见:   http://starsourcingsolutions.com/myblog/?p=159

  4. 软件project师的属性与发展

    工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...

  5. java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别(转)

    ClassNotFoundException ClassNotFoundException这个错误,比较常见也好理解. 原因:就是找不到指定的class. 常见的场景就是: 1 调用class的for ...

  6. 云计算被视为继大型计算机、个人计算机、互联网之后的第4次IT产业革命,顺应了当前各行业整合计算资源和服务能力的要求(转)

    云计算被视为继大型计算机.个人计算机.互联网之后的第4次IT产业革命,顺应了当前各行业整合计算资源和服务能力的要求,成为引领当今世界信息技术变革的主力军.越来越多的金融企业认识到只有与云计算结合,才能 ...

  7. 基于visual Studio2013解决C语言竞赛题之1036递归求值

          题目 解决代码及点评 /* 36.已知有如下递推公式 求该数列的前n项.不允许使用数组. */ float fp50036(int n,float x,float ...

  8. on、where、having的区别(转载)

    on.where.having的区别 on.where.having这三个都可以加条件的子句中,on是最先执行,where次之,having最后.有时候如果这先后顺序不影响中间结果的话,那最终结果是相 ...

  9. HDU 4424 Conquer a New Region 最大生成树

    给你一颗树 每条边有一个权值 选择一个点为中心 定义S值为中心到其它n-1个点的路径上的最小边权 求全部点S值的和 从大到小排序 每次合并2棵树 设为A集合 B集合 设A集合的最大S值的和为sumA ...

  10. ASP.NET - 缓存(Cache)

    页面缓存: 给页面添加<%@ OutPutCache Duration = “15” VaryByParam = “none” %> 这样就可以启用页面缓存了,那么在规定的时间内,页面之访 ...