php中传统验证与thinkphp框架
PHP(超文本预处理器)可用于小型网站的搭建,当用户需要注册登录是,需要与后台数据库进行匹配合格才能注册和登录,传统的方式步骤繁多,需要先连接数据库再用sql语句进行插入。
<?php header("Content-type: text/html; charset=utf-8"); $conn =mysqli_connect("localhost","root",""); if (!$conn){ echo "<script>alert('连接失败!');history.go(-1);</script>"; } mysqli_select_db($conn,"liuyanban"); mysqli_query($conn,'SET NAMES utf8'); $password=$_POST['password']; $username=$_POST['username']; $face="yellow.png"; $result=mysqli_query($conn,"SELECT username from user1 where username = '$username'"); $a=mysqli_num_rows($result); if($a) { echo "<script language=javascript>alert('用户名已存在!');location.href='reg.html'</script>"; } else { $sql = mysqli_query($conn,"INSERT INTO user1(username,password,face)VALUES('1' ,'2','yellow.png')"); if($sql) { echo "<script language=javascript>alert('注册成功!');location.href='login.html'</script>"; } else { echo "<script>alert('注册失败!');location.href='reg.html'</script>"; } } ?>
以上是一个原生php注册实例,需要用mysqli_select_db()、mysqli_query()等函数先进行数据库连接,同时只有通过mysqli_query()函数才能执行sql语句,最后通过if语句进行类别判断和其他一系列限制操作。在原生php阶段实用性比较高,便于理解,过程很清晰,但是在一个项目工程中用这样的语句代码编写不便于相互交流,非常繁重复杂,所以需要运用thinkphp框架搭建项目才能使编码人员相互可以对接,也便于后期代码的修改和功能的添加。那么这里就不赘述框架详细了,所以在thinkphp框架下mvc模式中运用控制器(C)和模型(M)进行表单自动验证:
控制器中使用表单静态验证:
public function doreg(){ $data=D('user'); $d=array(); $d['username']=$_POST['username']; $d['password']=$_POST['password']; $d['time']=date("Y-m-d H:i:s",time()); $d['qq']=$_POST['qq']; $d['class']=$_POST['class']; $mess=$data->create(); if (!$mess){ //表单自动验证 $this->error($data->getError(),'Member/member',3); }else{ $data->add(); echo "<script language=javascript>alert('注册成功!');location.href='member.html'</script>"; } }
模板中列出需要验证的字段:
<?php namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $tableName ='user'; protected $_validate=array( //进行静态验证 //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array('username','require','用户名必填!'), array('username','','帐号名称已经存在!',0,'unique',1), array('repassword','password','两次密码不一致!',0,'confirm'), array('qq','require','qq必填!'), array('qq','','帐号名称已经存在!',0,'unique',1), array('class','require','班级必填!'), array('j_verify','require','验证码必须!'), ); } ?>
这里以注册为例,登录类似,若验证错误,则运用$this->error($data->getError(),'Member/member',3);表单静态验证使用很方便。
(资源库 www.zyku.net)
您可能感兴趣的文章
- 05-10python调用API接口实现登录短信验证
- 05-10python对接ihuyi实现短信验证码发送
- 04-08使用Jquery.Validate通过正则表达式自定义验证规则汇
- 04-01jQuery validate验证隐藏表单(hidden)域
- 04-29解决jquery validate对隐藏元素hidden不进行验证的方
- 06-25Ucenter后台登录验证码显示CCCC的解决方法
- 09-15帝国CMS7.5版来源地址新增严格模式验证,更严谨
- 07-26asp.net使用ashx生成图形验证码的方法示例
- 07-20帝国CMS7.5版后台认证码新增预加密验证功能,超安全
- 07-12帝国CMS7.5版“来源HASH验证”功能升级,防护更强
- 11-21PHP中实现简易计算器的代码
- 01-12杂志时尚屋-杂志时尚屋应用软件功能介
- 01-09妙吉可琴童启蒙日记-妙吉可琴童启蒙日
- 02-25真我x7pro至尊版设置少儿模式方法
- 09-22石头机器人连接网络教程介绍
- 10-27哔哩哔哩童年专区在哪里进入
- 12-12小米平板5如何更换字体
- 10-04菜鸟裹裹亲友如何解绑
- 01-16放射医学中级题库-放射医学中级题库应
- 09-14淘宝逛逛在哪里进入萌宠治愈所活动
最近更新
阅读排行
猜你喜欢
- 01-12艺赛宝-艺赛宝应用软件功能介绍
- 11-30SyntaxHighlighter代码高亮插件构建使
- 01-11遇见她-遇见她应用软件功能介绍
- 02-13vivos7e微信分身操作方法
- 12-25lMken助手-lMken助手应用软件功能介绍
- 09-15OPPOReno7Pro+怎么关闭HD高清通话
- 10-16黑鲨4spro怎样开启投屏
- 11-09iphone13怎样保护电池寿命
- 09-26韶音骨传导耳机配对蓝牙教程一览
- 03-31Debian 启用 /etc/rc.local 添加开机