老生常谈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修饰静态方法调用规则【解答】

