ThinkPHP验证码使用简明教程

一、首先需要在控制器中加入验证码方法admin/Lib/Action/LoginAction.class.PHP


知识点:
1、ob_clean函数用途
2、import方法调用think默认类库
3、Image类buildImageVerify方法使用

代码如下:

代码如下:
Public function verify(){
ob_clean();
//ob_clean函数 清空先前输出
import('ORG.Util.Image');
//import调用的是message/ThinkPHP框架目录下的扩展包Extend/Library/ORG/Util/中的Image.class.PHP文件
Image::buildImageVerify();
//调用buildImageVerify方法生成验证码,默认参数为($length=4,$mode=1,$type='png',$width=48,$height=22,$verifyName='verify'),有兴趣的朋友可以研究下Image类
}

二、在模板文件中加入验证码模块admin/Tpl/Login/index.html


知识点:
1、验证码图片调用
2、js相关运行流程了解
3、__PUBLIC__常量

在密码输入框后加入如下代码

代码如下:


<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

//这里的具体代码会在下面贴出,其实只是定义了一个change_code函数,也就是更换验证码的异步操作(可以在不刷新页面的情况下更换)

Message Board BackGround


简易后台登录系统


用户名


密码:


验证码://这里需要注意将type设置为code,name命名为code
//img标签下的src就是调用Login控制器中的veryfy方法
//后面的两个参数留空是必须的,其中第2个没实际意义,主要是为了第3个参数留空,这样设置可以取消伪静态后缀名,否则默认的伪静态后缀名为html,将会导致无法正常加载图片

//这里调用了个





login.js文件在message/Public/目录下
文件内容如下:
代码如下:
verifyURL = 'http://localhost/message/admin.PHP/Login/verify';
//定义验证码路径
function change_code(obj){
$("#code").attr("src",verifyURL+'/'+Math.random());
//动态生成验证码方法,有兴趣的朋友可以深入研究下jq方法
return false;
}

另:__PUBLIC__文件定义在message/admin/Conf/config.PHP
在配置中,加入如下内容,即可改变__PUBLIC__路径
配置如下:

代码如下:
//常量相关配置
'TMPL_PARSE_STRING' => array(
'__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Public',
//路径改变为message/admin/Public,刷新页面,验证码依然可以刷新,则表明js生效,也可“查看页面文件
),

相关文章

public function getapiSignature(){$access_token=S(&#39;access_token&#39;);//先查询缓存中...
前述两篇文章“使用BootStrap制作用户登录UI”和“使用BootStrapValidator来完成前端输入验证 ”已经将...
前两天自己写的一篇文章“针对BootStrap中tabs控件的美化和完善”被别的网站给转载了,这也许是值得高兴...
由于用惯了ThinkPHP之前的版本,一想到要用Session就直接用$_SESSION来存取,今天看了ThinkPHP5的手册,...
今天访问自己的网站的时候(by thinkphp),突然发现身份验证失效了,Session无法跨页,而且登陆的时候...
使用thinkphp做一个后台系统,把session中的id传给header模板 切换多个子账户的时候,发现模板传递的参...