老生常谈php中传统验证与thinkphp框架(必看篇)

发布时间 - 2026-01-11 01:49:15    点击率:

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);表单静态验证使用很方便。

以上这篇老生常谈php中传统验证与thinkphp框架(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# php  # thinkphp框架  # thinkPHP自动验证机制详解  # thinkPHP中验证码的简单实现方法  # ThinkPHP表单自动提交验证实例教程  # Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册  # thinkPHP实现表单自动验证  # ThinkPHP实现生成和校验验证码功能  # 表单  # 必填  # 帐号  # 给大家  # 注册成功  # 是一个  # 就不  # 老生常谈  # 两次  # 较高  # 希望能  # 为例  # 这篇  # 再用  # 能使  # 验证码  # 必看  # 很方便  # 小编  # 需要用 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  JavaScript Ajax实现异步通信  Laravel Fortify是什么,和Jetstream有什么关系  如何在橙子建站上传落地页?操作指南详解  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  原生JS获取元素集合的子元素宽度实例  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  重庆市网站制作公司,重庆招聘网站哪个好?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  如何在搬瓦工VPS快速搭建网站?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何快速生成ASP一键建站模板并优化安全性?  详解CentOS6.5 安装 MySQL5.1.71的方法  魔方云NAT建站如何实现端口转发?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何快速生成高效建站系统源代码?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  php485函数参数是什么意思_php485各参数详细说明【介绍】  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Android使用GridView实现日历的简单功能  如何确认建站备案号应放置的具体位置?  如何安全更换建站之星模板并保留数据?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  香港服务器部署网站为何提示未备案?  如何快速完成中国万网建站详细流程?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  详解Android——蓝牙技术 带你实现终端间数据传输  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】