素材牛VIP会员
如何把Thinkphp的验证码单独使用?
 39***81  分类:ThinkPHP  人气:1060  回帖:2  发布于6年前 收藏

感觉thinkphp验证码不错,我已经把它的扩展和字体拿出来了,如何在普通PHP页面使用呢?

首先我加载
include_once 'core/verify.class.php';

然后加载类

$Verify = new Verify();
  
          $Verify = new Verify();
          $config =    array(
'fontSize'    =>    30,    // 验证码字体大小
'length'      =>    3,     // 验证码位数
'useNoise'    =>    false, // 关闭验证码杂点

);

          $Verify->entry($config);
          
            //报错
          Notice: Use of undefined constant NOW_TIME - assumed 'NOW_TIME 175
          Notice: Undefined variable: session 176
          Fatal error: Function name must be a string 176
<img src="code/verify" onclick="this.src='code/verify/'+Math.random()" style="cursor:pointer;"/>

感觉这样写不对
如何写呢?

 标签:thinkphp

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv4 码徒
sh***ng 学生 6年前#1

Notice那两行,意思是未定义
你看到你的verify.class.php,ctrl+F 搜索now,
那里有一个now_time,也就是当前时间,是用来定义验证码的创建时间,并且存放到session
你需要自定义一个NOW_TIME,用于获取当前系统时间,
验证类中的用法是用来验证session是否过期了

这些类很有用,很多bug还是要从这些类中寻找出来

Lv6 码匠
风***人 技术总监 6年前#2

ThinkPHP的验证码是这么获取的。

$Verify = new \Think\Verify();
$Verify->entry();

PS:1.关于报错的那里,NOW_TIME 向服务器的请求时间,$_SERVER['REQUEST_TIME'];
2.Thinkphp操作session用的session()函数,你改成$_SESSION即可。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取