这个疑惑了好久了,在看兄弟连的教程时有的疑问。
因为兄弟连的thinkphp的版本是3.1,所以和我tp3.2的版本不一样,而且验证码的使用上有一些区别,造成我一直使用不成功。
前几天下载了传智博客基于tp3.2的视频教程,两者对比了一下,找出了原因。
先新建一个公共控制器,用于放置验证码的实例化代码(不用新建控制器也行,任意公共控制器都可以)。
例如:PublicController.class.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php namespace Home\Controller; use Think\Controller; class PublicController extends Controller{ public function index(){ $this->display(); } Public function code(){ $config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 3, // 验证码位数 'useNoise' => true, // 关闭验证码杂点 ); $verify = new \Think\Verify($config); $verify->entry(); } } ?> |
然后再网页模板里面需要插入验证码的地方插入代码(引用上方的实例化模型函数,onclick属性是为了点击图片换一张验证码):
1 |
<IMG onclick="this.src=this.src+'?'+Math.random()" src="__APP__/Home/Public/code" > |
在FROM表单的action提交位置写以下代码测试验证码即可:
1 2 3 4 5 6 7 8 9 10 |
public function do_login(){ if(!empty($_POST)){ $verify = new \Think\Verify(); if(!$verify->check($_POST['code'])){ echo "验证码错误"; }else{ echo "验证码正确"; } } } |
验证输入的验证码正确显示正确,错误显示错误。
[player autoplay="1"]
Comments | NOTHING