thinkphp验证码显示不出来的解决方法_php实例

php的配置文件php.ini,搜索extension=php_gd2.dll,去掉前面的分号即可;

1.在模块类中增加一个 verify 方法来用于显示验证码

复制代码 代码如下:

Public function verify(){
    // 导入Image类库
    import("ORG.Util.Image");
    Image::buildImageVerify();
}

2.表单中使用验证码

复制代码 代码如下:

<input type="text" name="verify">
<img id="verifyImg" src="__URL__/verify" onClick="changeVerify()" title="点击刷新验证码" />

3.验证码刷新

复制代码 代码如下:

<script language="JavaScript">
function changeVerify(){
 var timenow = new Date().getTime();
 document.getElementById('verifyImg').src='__URL__/verify/'+timenow; 
}
</script>

4.验证码验证

复制代码 代码如下:

if($_SESSION['verify'] != md5($_POST['verify'])) {
    $this->error('验证码错误!');
}

时间: 2024-08-26 10:16:47

thinkphp验证码显示不出来的解决方法_php实例的相关文章

thinkphp验证码显示不出来的解决方法

 这篇文章主要介绍了thinkphp验证码显示不出来的解决方法,需要的朋友可以参考下 php的配置文件php.ini,搜索extension=php_gd2.dll,去掉前面的分号即可:   1.在模块类中增加一个 verify 方法来用于显示验证码    代码如下: Public function verify(){     // 导入Image类库     import("ORG.Util.Image");     Image::buildImageVerify(); }    

ThinkPHP和UCenter接口冲突的解决方法_php实例

本文分析了ThinkPHP和UCenter接口冲突的解决方法.分享给大家供大家参考,具体如下: 1.引出问题: 在UCenter中存在db和base两个类,恰巧这两个类也存在于ThinkPHP中,因此出现问题是必然的事情. db类:uc_client/lib/db.class.php base类:uc_client/model/base.php 2.问题解决方法: 只要消除"重名"即可解决,因此选择更改UCenter中的名称. 3.实际操作方法: db类: 更改db.class.php

Yii使用ajax验证显示错误messagebox的解决方法_php实例

本文实例讲述了Yii使用ajax验证显示错误messagebox的解决方法.分享给大家供大家参考.具体方法如下: yii 自带了ajax 表单验证 这个可能有些朋友不知道了,但我今天在使用yii 自带的ajax 表单验证 时碰到一些问题,下面我来整理例子与大家参考一下. 在Yii中,可以利用ajax执行一个action,但是这个action有时候会有弹出错误讯息的需求,这时候的处理方式如下 基本思想 利用exception,比如: 复制代码 代码如下: throw new CHttpExcept

ThinkPHP打开验证码页面显示乱码的解决方法_php实例

本文实例讲述了ThinkPHP打开验证码页面显示乱码的解决方法.分享给大家供大家参考.具体分析如下: 在用thinkphp开发的时候,有时会出现验证码乱码的问题,解决方法是把如下这个文件放在根目录,访问后就可以解决了,具体的PHP代码如下: 复制代码 代码如下: <?php if (isset($_GET['dir'])){ //设置文件目录   $basedir=$_GET['dir'];   }else{   $basedir = '.';   }   $auto = 1;   checkd

ThinkPHP的截取字符串函数无法显示省略号的解决方法_php实例

对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_exists("mb_substr")) { if($suffix) { if($str==mb_substr($str, $start, $le

ThinkPHP控制器里javascript代码不能执行的解决方法_php实例

本文实例讲述了ThinkPHP控制器里javascript代码不能执行的解决方法.分享给大家供大家参考.具体方法如下: 这里实例分析一下thinkphp在控制器里的网页特效代码不能执行解决方法,就拿"退出"这一项来说吧,我的"退出系统"链接是写到左边的框架里的,用js动态生成的.也就是说,没法通过链接里的target来指定. 复制代码 代码如下: $this->assign('jumpurl',__url__.'/login');<br>$this

thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法_php实例

本文实例讲述了thinkphp在php7环境下提示Cannot use 'String' as class name as it is reserved的解决方法.分享给大家供大家参考,具体如下: 我有一网站之前用php7运行thinkphp没有什么问题,但是最近发现开启验证码的时候发现有错误 Cannot use 'String' as class name as it is reserved 在google baidu搜索了一下还是没有解决方法 于是自己动手解决,看来我是第一个分享出来的人

CI分页类首页、尾页不显示的解决方法_php实例

本文实例讲述了CI分页类首页.尾页不显示的解决方法.分享给大家供大家参考,具体如下: 看了下手册说,每次都要重新去写一次呢些$config,可以新建一个文件放到config文件夹下面,考虑了下,config这个文件夹系统会自动加载,也就是说不管你访问什么页面这文件夹里面的所有信息都会被加载,所以,要想在这个文件里面去写就需要写方法,这样即使加载如果不去加载也是没有关系的.本人没有沿用手册上的说法做. 我的思路:既然我们是在CI这框架下写的东西,而且每个控制器都会引入父类CI_Controller

ThinkPHP实现多数据库连接的解决方法_php实例

ThinkPHP实现连接多个数据的时候,如果数据库在同一个服务器里的话只需要这样定义模型: class MembersModel extends Model{ protected $trueTableName = 'members.members'; //数据库名.表名(包含了前缀) } 然后就可以像D("Members");这样实例化模型,像普通模型那样操作了. 但后来发现他的数据库在两个不同的服务器,这样上面的方法就不行了. 这时候就需要使用TP的多数据连接特性了. 对此,查阅官方