thinkphp与传统php,老生常谈php中传统验证与thinkphp框架(必看篇)
PHP(超文本预处理器)可用于小型网站的搭建,当用户需要注册登录是,需要与后台数据库进行匹配合格才能注册和登录,传统的方式步骤繁多,需要先连接数据库再用sql语句进行插入。
header("Content-type: text/html; charset=utf-8");
$conn =mysqli_connect("localhost","root","");
if (!$conn){
echo "";
}
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 "";
}
else
{
$sql = mysqli_query($conn,"INSERT INTO user1(username,password,face)VALUES('1' ,'2','yellow.png')");
if($sql)
{
echo "";
}
else
{
echo "";
}
}
?>
以上是一个原生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 "";
}
}
模板中列出需要验证的字段:
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);表单静态验证使用很方便。
以上这篇老生常谈php中传统验证与thinkphp框架(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
thinkphp与传统php,老生常谈php中传统验证与thinkphp框架(必看篇)相关推荐
- PHP项目部署在tomcat,在Tomcat中部署Web项目的操作方法(必看篇)
在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Manager Web应用程序 一:部署解包的webapp目录 将Web项目部署到Tom ...
- el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)
EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...
- 华为hcie认证中SSL基本介绍华为hcie必看
华为hcie认证中SSL基本介绍华为hcie必看,SSL 全称为Secure Sockets Layer,安全套接层.是一种提供保证私密性的安全协议.SSL能使客户端与服务器之间的通信不被截取及窃听, ...
- java 动态编译_老生常谈Java动态编译(必看篇)
一.动态编译简介 new创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类. 一百个类,有一个类错了,都无法编译. 通过动态加载类可以解决该问题 二.代码实例 2.1 OfficeBette ...
- 对象流java_Java中的对象流总结(必看篇)
java中可以通过对象流将一个序列化的对象保存到硬盘中,或者硬盘中读取一个对象.对象流的存储和读取包含以下几点内容: 1.所保存的对象必须实现serializable接口. 2. 所保存的对象的属性也 ...
- java 中传输文件的代码_java文件上传Demo(必看篇)
说到文件上传我们要做到: 1.引入两个包:commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 2.将form改为上传文件模式:enctype=" ...
- servers split sql_SQL中实现SPLIT函数几种方法总结(必看篇)
例1 代码如下 create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp tabl ...
- JSP中EL表达式的用法详解(必看篇)
转自:https://www.jb51.net/article/105314.htm EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL ...
- STM32中C语言知识点:初学者必看,老鸟复习(长文总结)
说在前面的话 一位初学单片机的小伙伴让我推荐C语言书籍,因为C语言基础比较差,想把C语言重新学一遍,再去学单片机,我以前刚学单片机的时候也有这样子的想法. 其实C语言是可以边学单片机边学的,学单片机的 ...
- c# 火狐浏览器怎么嵌入窗体中_「C#上位机必看」你们想要的练手项目来了
最近有越来越多做电气的小伙伴开始学习C#来做上位机开发,很多人在学习一段时间后,都有这种感觉,似乎学到了很多知识,但是不知道怎么应用,因此我找了一个真实的上位机小项目,让大家来练练手.这篇文章主要对这 ...
最新文章
- MITRE:利用微生物组时间序列数据推断与宿主状态变化相关的特征
- arduino红外热释电传感器_压力传感器在汽车空调系统中的应用
- python可以做什么有趣的东西-您用python做过什么有趣的事?(什么事python)
- 【java基础】map的基本使用与字符串中每个字符出现的次数统计
- [YTU]_2432 (C++习题 对象数组输入与输出)
- 大白话解析模拟退火算法、遗传算法入门
- SigmaStar SSD201 开源记录
- Sql语句里的递归查询
- JVM之GCRoots概述
- IE6下margin-left双倍bug问题
- 变换例题_用初等变换求逆矩阵的小小解释
- php100 linux,PHP100精华:很靠谱linux经常使用命令
- 作为程序员,错过这次和以太坊V神的面基,你可能会痛失1个亿!
- 【转】python常用工具代码
- plsql如何显示表结构图_如何用PLSQL导出数据库存表结构信息
- 赵小楼《天道》《遥远的救世主》解读(84)救主文化是什么?
- 怎么把图片转换成Tikz图片
- Charles下载与破解
- 三大高级协议--http/dhcp/ftp
- 【RDMA】RDMA编程