一、首先需要在控制器中加入验证码方法admin/Lib/Action/LoginAction.class.php
知识点:
1、ob_clean函数用途
2、import方法调用think默认类库
3、Image类buildImageVerify方法使用
代码如下:
Public function verify(){<BR> ob_clean();<BR> //ob_clean函数 清空先前输出<BR> import('ORG.Util.Image');<BR> //import调用的是message/ThinkPHP框架目录下的扩展包Extend/Library/ORG/Util/中的Image.class.php类文件<BR> Image::buildImageVerify();<BR> //调用buildImageVerify方法生成验证码,默认参数为($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify'),有兴趣的朋友可以研究下Image类<BR>}<BR>
二、在模板文件中加入验证码模块admin/Tpl/Login/index.html
知识点:
1、验证码图片调用
2、js相关运行流程了解
3、__PUBLIC__常量
在密码输入框后加入如下代码:
<BR><BR><BR><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><BR><script type="text/javascript" src="__PUBLIC__/Js/jquery-1.7.2.min.js"></script><BR>//__PUBLIC__常量可以在页面加载后,“查看页面源文件”中找到定义的__PUBLIC__目录,默认为项目根目录message下的Public目录,下面会讲解如何自定义__PUBLIC__系统常量<BR>//jquery文件,只有加载了这个文件才可以调用jquery的方法<BR><script type="text/javascript" src="__PUBLIC__/Js/login.js"></script><BR>//这里的具体代码会在下面贴出,其实只是定义了一个change_code函数,也就是更换验证码的异步操作(可以在不刷新页面的情况下更换)</P><P><title>Message Board BackGround</title><BR><BR><body></P><P> <BR> <h2>简易后台登录系统</h2><BR> 用户名:<BR> <br /><BR> 密码:<BR> <br /><BR> 验证码: <BR> //这里需要注意将type设置为code,name命名为code<BR> <BR> //img标签下的src就是调用Login控制器中的veryfy方法<BR> //后面的两个参数留空是必须的,其中第2个没实际意义,主要是为了第3个参数留空,这样设置可以取消伪静态后缀名,否则默认的伪静态后缀名为html,将会导致无法正常加载图片<BR> 看不清<BR> //这里调用了个<BR> <br /><BR> <BR> </P><P><BR><BR>
login.js文件在message/Public/目录下
文件内容如下:
verifyURL = 'http://localhost/message/admin.php/Login/verify';<BR>//定义验证码路径<BR>function change_code(obj){<BR> $("#code").attr("src",verifyURL+'/'+Math.random());<BR> //动态生成验证码方法,有兴趣的朋友可以深入研究下jq方法<BR> return false;<BR>}<BR>
另:__PUBLIC__文件定义在message/admin/Conf/config.php
在配置中,加入如下内容,即可改变__PUBLIC__路径
配置如下:
//常量相关配置<BR>'TMPL_PARSE_STRING' => array(<BR> '__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Public',<BR> <p>+本文来源gao!%daima.com搞$代*!码9网(</p><strong>搞gaodaima代码</strong>//路径改变为message/admin/Public,刷新页面,验证码依然可以刷新,则表明js生效,也可“查看页面源文件”<BR>),<BR>