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(‘该用户不存在‘);

}

}

}

时间: 2025-01-08 18:33:03

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

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

本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  scr <link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/test.css'/> <script src='__PUBLIC__/Js/test.js'></script> 2.import(==默认是在Public文件夹下) //导入Public文件夹下面的Js目录

Log4j终结者(一)——以例子的方式详细介绍Log4j配置文件中代码的含义

通过Log4j可以方便的对项目中的日志进行处理--控制日志信息输出的目的地(控制台.文件.GUI组件或NT事件记录器).控制每一条日志的输出格式(HTMLLayout布局格式.PatternLayout布局格式.SimpleLayout布局格式或TTCCLayout).控制所输出日志信息的级别(DEBUG级别.INFO级别.WARN级别.ERROR级别或FATAL级别)等.下面从一个简单的例子入手来详细介绍Log4j的使用方法: 工程结构如下图: TestLog4j.java文件中的代码: pa

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

这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, x ) 返回 y/x 的反正切. cos( x ) 返回 x 的余弦:x 是弧度. sin( x ) 返回 x 的正弦:x 是弧度. exp( x ) 返回 x 幂函数. log( x ) 返回 x 的自然对数. sqrt( x ) 返回 x 平方根. int( x ) 返回 x 的截断至整数的

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

有时候我们根据一些场景 需要替换第三方jar包的包名,比如Android广告平台sdk,更换他们jar包包名的话,可以防止市场检测到有广告插件,所以,今天就介绍一下如何使用jarjar.jar工具来替换jar包的包名 一.首先下载jarjar.jar工具 地址在:https://code.google.com/p/jarjar/ 二.下载完以后,使用cmd命令--打开到它所在的目录,它有三个命令: (1)java –jar jarjar.jar   查看帮助信息的 (2)java –jar ja

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

目录 简介 背景 流量识别 常用功能 具体功能 做法 特征识别 架构举例 部署方式 串接方式 并接方式 存在问题 检测引擎举例 参考文献 简介 DPI(Deep Packet Inspection)深度包检测技术是在传统IP数据包检测技术(OSI L2-L4之间包含的数据包元素的检测分析)之上增加了对应用层数据的应用协议识别,数据包内容检测与深度解码. 既可以检测2~4层,又可以检测应用层. 背景 安全问题.流量识别.大数据(海量数据挖掘),推动网络识别技术的发展 流量识别 指将网络中的数据流识

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

一,Redis是一款基于内存的数据库,可以持久化,在企业中常用于缓存,相信大家都比较熟悉Redis了,下面主要分享下关于Redis持久化的两种模式 1.半持久化模式(RDB,filesnapshotting) 此模式是Redis默认的备份方式,通过快照方式,将数据从内存写入磁盘中,如果Redis异常退出,下次启动则从打快照的这个时间节点来恢复此之前的数据,根据数据量大小.结构.服务器性能不同,通常将记录1千万个string类主键.大小为1GB的快照文件载入内存中需要20~30s 触发快照参数在配

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

这两天開始写程序了,让用SSH2框架,曾经没有接触过Java项目更没有接触过SSH2框架,所以用注冊開始了我Java之旅.后来发现,后台代码挺easy理解的,跟.net的差点儿相同.就是层与层之间的调用,可是前面前台的交互我差非常多,在这里总结一下,顺便跟大家看一下.怎么实现往手机上发送短信验证码的.. 大家先看看我的界面. 原图: 短信验证码错误的界面: 短信验证码正确的界面: 以下開始我的界面代码展示(JSP): <body > <h2 class="titlelog&qu

awk 正则表达式、正则运算符详细介绍

前言:使用awk作为文本处理工具,正则表达式是少不了的. 要掌握这个工具的正则表达式使用.其实,我们不必单独去学习它的正则表达式.正则表达式就像一门程序语言,有自己语法规则已经表示意思. 对于不同工具,其实大部分表示意思相同的.在linux众多文本处理工具(awk,sed,grep,perl)里面用到正则表达式.其实就只有3种类型.详细可以参考:linux shell 正则表达式(BREs,EREs,PREs)差异比较.只要是某些工具是属于某种类型的正则表达式.那么它的语法规则基本一样. 通过那

awk 正则表达式、正则运算符详细介绍(转)

前言:使用awk作为文本处理工具,正则表达式是少不了的. 要掌握这个工具的正则表达式使用.其实,我们不必单独去学习它的正则表达式.正则表达式就像一门程序语言,有自己语法规则已经表示意思. 对于不同工具,其实大部分表示意思相同的.在linux众多文本处理工具(awk,sed,grep,perl)里面用到正则表达式.其实就只有3种类型.详细可以参考:linux shell 正则表达式(BREs,EREs,PREs)差异比较 .只要是某些工具是属于某种类型的正则表达式.那么它的语法规则基本一样. 通过