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框架(必看篇)相关推荐

  1. PHP项目部署在tomcat,在Tomcat中部署Web项目的操作方法(必看篇)

    在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Manager Web应用程序 一:部署解包的webapp目录 将Web项目部署到Tom ...

  2. el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  3. 华为hcie认证中SSL基本介绍华为hcie必看

    华为hcie认证中SSL基本介绍华为hcie必看,SSL 全称为Secure Sockets Layer,安全套接层.是一种提供保证私密性的安全协议.SSL能使客户端与服务器之间的通信不被截取及窃听, ...

  4. java 动态编译_老生常谈Java动态编译(必看篇)

    一.动态编译简介 new创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类. 一百个类,有一个类错了,都无法编译. 通过动态加载类可以解决该问题 二.代码实例 2.1 OfficeBette ...

  5. 对象流java_Java中的对象流总结(必看篇)

    java中可以通过对象流将一个序列化的对象保存到硬盘中,或者硬盘中读取一个对象.对象流的存储和读取包含以下几点内容: 1.所保存的对象必须实现serializable接口. 2. 所保存的对象的属性也 ...

  6. java 中传输文件的代码_java文件上传Demo(必看篇)

    说到文件上传我们要做到: 1.引入两个包:commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 2.将form改为上传文件模式:enctype=" ...

  7. servers split sql_SQL中实现SPLIT函数几种方法总结(必看篇)

    例1 代码如下 create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp tabl ...

  8. JSP中EL表达式的用法详解(必看篇)

    转自:https://www.jb51.net/article/105314.htm EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL ...

  9. STM32中C语言知识点:初学者必看,老鸟复习(长文总结)

    说在前面的话 一位初学单片机的小伙伴让我推荐C语言书籍,因为C语言基础比较差,想把C语言重新学一遍,再去学单片机,我以前刚学单片机的时候也有这样子的想法. 其实C语言是可以边学单片机边学的,学单片机的 ...

  10. c# 火狐浏览器怎么嵌入窗体中_「C#上位机必看」你们想要的练手项目来了

    最近有越来越多做电气的小伙伴开始学习C#来做上位机开发,很多人在学习一段时间后,都有这种感觉,似乎学到了很多知识,但是不知道怎么应用,因此我找了一个真实的上位机小项目,让大家来练练手.这篇文章主要对这 ...

最新文章

  1. MITRE:利用微生物组时间序列数据推断与宿主状态变化相关的特征
  2. arduino红外热释电传感器_压力传感器在汽车空调系统中的应用
  3. python可以做什么有趣的东西-您用python做过什么有趣的事?(什么事python)
  4. 【java基础】map的基本使用与字符串中每个字符出现的次数统计
  5. [YTU]_2432 (C++习题 对象数组输入与输出)
  6. 大白话解析模拟退火算法、遗传算法入门
  7. SigmaStar SSD201 开源记录
  8. Sql语句里的递归查询
  9. JVM之GCRoots概述
  10. IE6下margin-left双倍bug问题
  11. 变换例题_用初等变换求逆矩阵的小小解释
  12. php100 linux,PHP100精华:很靠谱linux经常使用命令
  13. 作为程序员,错过这次和以太坊V神的面基,你可能会痛失1个亿!
  14. 【转】python常用工具代码
  15. plsql如何显示表结构图_如何用PLSQL导出数据库存表结构信息
  16. 赵小楼《天道》《遥远的救世主》解读(84)救主文化是什么?
  17. 怎么把图片转换成Tikz图片
  18. Charles下载与破解
  19. 三大高级协议--http/dhcp/ftp
  20. 【RDMA】RDMA编程

热门文章

  1. 【数据库】数据库安全(授权,回收)
  2. Windows WMIC 命令使用详解 (附实例)
  3. C++中的namespace(using namespace)的理解
  4. Effective_STL 学习笔记(十六) 如何将 vector 和 string 的数据传给遗留的API
  5. Solidity常见问题
  6. IBM推出全闪存产品 加速服务器I/O性能
  7. MplusAutomation包的使用 二
  8. ajax ----进度条的原理
  9. SpringMVC Hello World
  10. linux定时执行脚本