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

前端之家收集整理的这篇文章主要介绍了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();

        }
    }}
原文链接:https://www.f2er.com/thinkphp/20747.html

猜你在找的ThinkPHP相关文章