Thinkphp实现自动验证和自动完成

tp验证码的自动验证小案例

模板文件

    <form action= method=post>
        <p>
            User:            <input type=text name=name1 id=>
        </p>
        <p>
            PASS:            <input type=password name=pass1 id=>
        </p>
        <p>
            PASS:            <input type=password name=rpass1 id=>
        </p>
        <p>
            CODE            <input type=text name=code id=>
            <img src={:U('yzm')} alt=>
        </p>
        <p>
            <input type=submit value=提交>
        </p>
    </form>

数据模型

<?PHP 

namespace Home\Model;use  Think\Model;class usermodel extends Model{    // 字段映射
    protected $_map=array(        name1=>name,
        pass1=>pass,

        );    // 自动验证

    protected $_validate =array(        // array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),、
        // 判断验证码是否存在
        array('code','require','请输入验证码'),        // 判断验证码是否正确
        array('code','checks','验证码错误',1,'callback',1),        // 判断用户名是否存在
        array('name','require','请输入用户名'),        // 判断长度
        array('name','6,12','用户名长度必须6-12位',1,'length',1),        // 判断用户名是否存在
        array('name','','用户名已经存在',1,'unique',1),        // 密码是否正确
        array('pass','require','密码不存在'),        // 密码长度
        array('pass','6,12','密码长度必须6-12位',1,'length',1),        // 俩次密码是否一致
        array('pass','check_pwd','两次密码不一致',1,'callback',1),

        );    // 检测验证码方法

    public function checks(){        $verify = new \Think\Verify();        return $verify->check($_POST['code'], $id=);
    }    // 检测密码
    public function check_pwd(){        if ($_POST['pass1']==$_POST['rpass1']) {            # code...'
            return true;
        }else{            return false;
        }
    }    // 自动完成
    protected $_auto=array(        // array(完成字段1,完成规则,[完成条件,附加规则]),
        // 给状态设置认值
        array('statu','1',1),        // 设置时间戳
        array('time','time',1,'function'),        // 用户名大写
        array('name','asd',1,'callback'),

        );    function asd(){        return strtoupper($_POST['name1']);
    }
} ?>

控制器文件

<?PHP
namespace Home\Controller;use Think\Controller;class UserController extends Controller {    public function index(){        $model=M('student');        // 多表查询
        // $sql=select student.name as sname,type.name tname from student,type where student.cid=type.id;

        // 发动sql语句
        // $data=$model->query($sql);

        $data=$model->field('student.name sname,type.name tname')->join(type on type.id=student.cid)->select();        echo $model->getlastsql();        echo <pre>;        print_r($data);        echo </pre>;

    }    public function index1(){        $model=M('student');        $sql=select  student.name as sname,type.name tname from student left join type on student.cid=type.id;           $data=$model->query($sql);           $data=$model->field('student.name sname,type.name tname')->join('type on type.id=student.cid','right')->select();           echo $model->getLastsql();           echo <pre>;           print_r($data);           echo </pre>;
    }    // 添加页面


    public function add(){        if (IS_POST) {            $model=D('user');        
            if ($model->create()) {                # code...

                if ($model->add()) {                    # code...                }

            }else{                echo $model->getError();
            }

        }else{            $this->display();
        }
    }    public function add(){        if(){
            
        }else{
            
        }
    }    public function yzm(){        // $Verify = new \Think\Verify();

        // // // 设置字体大小
        // // $Verify->fontSize=30;

        // // // 使用背景图像
        // // $Verify->useImgBg=true;

        // // // 是否干扰线
        // // $Verify->useCurve=false;

        // // // 是否使用小点
        // // $Verify->useNoise=true;

        // // // 验证码宽度
        // // $Verify->imageW=500;

        // // // 验证码高度
        // // $Verify->imageH=200;

        // // // 验证码位数
        // // $Verify->length=3;

        // // // 设置干扰颜色
        // // $Verify->bg=array(255,0,0);

        // // 设置验证码字符集合
        // // $Verify->codeSet=1234567890;

        // // 设置字体
        // $Verify->fontttf=STXINWEI.TTF;

        // $Verify->zhSet=我爱你中国;

        // // 使用中文
        // $Verify->useZh=true;
        // $Verify->entry();

        $Verify =     new \Think\Verify();        // 验证码字体使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf
        $Verify->fontttf=STXINWEI.TTF;        $Verify->zhSet=我爱你中国;        $Verify->length=1;        $Verify->imageW=100;        $Verify->useZh = true; 
        $Verify->entry();
    }    function check_verify($code, $id = ''){        $verify = new \Think\Verify();        return $verify->check($code, $id);
    }

    public function yzm1(){        if (IS_POST) {            # code...
            echo <pre>;            print_r($_SESSION);            echo </pre>;            if ($this->check_verify($_POST['code'])) {                echo 1;
            }else{                echo 2;
            }
        }else{        $this->display();

        }
    }}

相关文章

(1)创建数据表: CREATE TABLE IF NOT EXISTS `think_form` ...
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的...
(1)创建模版:/App/Home/View/Form/edit.html   <FORM m...
自定义配置文件user.php: <?php return array(    \'se...
在一些成熟的CMS系统中,后台一般都包含一个配置中心(如织梦...
废话不多说先上图预览下,即本博客的分页; 这个分页类是在...