首页 / PHP / thinkphp自动验证和自动完成
thinkphp自动验证和自动完成
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了thinkphp自动验证和自动完成,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4062字,纯文字阅读大概需要6分钟。
内容图文
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), ); // 检测验证码方法publicfunction checks(){ $verify = new \Think\Verify(); return$verify->check($_POST[‘code‘], $id=""); } // 检测密码publicfunction check_pwd(){ if ($_POST[‘pass1‘]==$_POST[‘rpass1‘]) { # code...‘returntrue; }else{ returnfalse; } } // 自动完成protected$_auto=array( // array(完成字段1,完成规则,[完成条件,附加规则]), // 给状态设置默认值array(‘statu‘,‘1‘,1), // 设置时间戳array(‘time‘,‘time‘,1,‘function‘), // 用户名大写array(‘name‘,‘asd‘,1,‘callback‘), ); function asd(){ returnstrtoupper($_POST[‘name1‘]); } } ?>
控制器文件
<?php namespace Home\Controller; use Think\Controller; class UserController extends Controller { publicfunction 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>"; } publicfunction 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>"; } // 添加页面publicfunction add(){ if (IS_POST) { $model=D(‘user‘); if ($model->create()) { # code...if ($model->add()) { # code... } }else{ echo$model->getError(); } }else{ $this->display(); } } publicfunction add(){ if(){ }else{ } } publicfunction 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); }
publicfunction 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(); } } }
原文:http://www.cnblogs.com/healy/p/7522807.html
内容总结
以上是互联网集市为您收集整理的thinkphp自动验证和自动完成全部内容,希望文章能够帮你解决thinkphp自动验证和自动完成所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。