PHPMySQL基础(四):模拟登录Login功能案例

PHP&MySQL基础(一):创建数据库并通过PHP进行连接_长风沛雨的博客-CSDN博客

PHP&MySQL基础(二):通过PHP对MySQL进行增、删、改、查_长风沛雨的博客-CSDN博客

PHP&MySQL基础(三):处理查询SQL返回的结果集_长风沛雨的博客-CSDN博客

目录

一、搭建HTML表单结构

二、封装一个SQL执行方法Conn

三、实现用户登录功能

四、测试功能


MySQL和PHP之间可以进行增删改查的操作,也可以把查询返回的结果给转换成对象或者数组来进行取值

同时,也可以通过HTML的表单结构和PHP的查询语法来进行一个登录的校验


一、搭建HTML表单结构

    <form action="" method="post"><div><label for="">账号:</label><input type="text" name="userName"></div><div><label for="">密码:</label><input type="password" name="pwd"></div><input type="submit" value="登录"><a href="sql实现注册.php">注册</a></form>

二、封装一个SQL执行方法Conn

封装一个function函数,把后续的sql语句当作实参进行传递

在该函数中,连接数据库,处理数据库连接异常,统一字符集编码

需要注意的是:在else分支中执行的query()方法,接受方法返回值的$res变量需要提高一个作用域,在else内部第一次声明的话,在外部返回就不写了

        //封装数据库请求的方法:接受一个sql语句,返回sql语句的执行结果function Conn($sql){$res;$link = new mysqli('localhost','root','123456','db_test','3306');if($link->connect_error){ # 判断如果link对象里面的异常不为空switch($link->connect_error){case 1045 : echo " 访问被拒绝,可能用户名或者密码错误";break;case 1049 : echo " 数据库名称错误";break;default:break;}}else{$link->query("SET NAMES utf8"); # 使用连接对象自带的query方法执行sql语句,该sql是用来设置字符集编码$res = $link->query($sql); //这里的res是在内部的,要提高声明范围}mysqli_close($link);return $res;}

三、实现用户登录功能

        //3、实现功能:用户登录if($_POST){ //3.1 判断post有没有数据//3.2 获取表单传递过来的数据$userName = $_POST['userName'];$pwd = $_POST['pwd'];//3.3 判断用户名和密码是否为空if($userName && $pwd){//3.5 在有账号数据的前提下,去编写sql语句(先查询指定的姓名)$selectSql = "SELECT * FROM tb_user WHERE userName='$userName'";//3.6 用Conn方法去读取该sql语句$res = Conn($selectSql);//3.7 去判断这个结果集有没有读取到对应的数据if($res->num_rows){ # num_rows是读取到记录的条数,如果为0就是没有了//3.9 去判断密码(读取结果集)$info = mysqli_fetch_object($res);//4.0 判断$info中对应的pwd是不是等于post传进来的pwdif($info->pwd == $pwd){echo "<script>window.alert('登录成功')</script>";}else{echo "<script>window.alert('密码不匹配')</script>";}}else{ //3.8 如果没有查询到条数,就是账号不存在echo "<script>window.alert('账号不存在')</script>";}}else{ // 3.4 否则进行提示echo "<script>window.alert('账号和密码不可为空')</script>";}}

四、测试功能

登录这个账号

这个登录案例差不多这样子

但是还可以在补充:用户登录成功后跳转到指定页面,同时保存用户登录的数据(会话存储session)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/251755.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

《物联网IoT解决方案》(Unity+SteamVR+云技术+5G+AI+物联网+IoT+人机交互+万物互联+物物互联+射频识别+全球定位系统+实时采集+智能化感知+识别+管理+立钻哥哥+==)

《物联网IoT解决方案》 版本 作者 参与者 完成日期 备注 YanlzVR_IoT_V01_1.0 严立钻 2020.05.05 ##《物联网IoT解决方案》发布说明&#xff1a; “物联网IoT解决方案”&#xff1a;是对“IoT”的基础探索&#xff1b;【VR云游戏】&#xff1a;U…

创建联系人vcf文件通讯录

现在的app动不动就要访问手机联系人&#xff0c;于是突发奇想把自己手机里面导很多假联系人&#xff0c;让他去获取。于是随便写了一下代码生成了.vcf后缀的联系人文件&#xff0c;可以直接导入到手机里面去。下面代码一些写的不规范&#xff1a;比如流的关闭、异常的处理、数据…

CAD测面积周长

点取闭合区域中的一点&#xff0c;计算闭合区域的面积。 1.单击ET”工具栏的“面积周长命令”按钮。 2.在命令行中输入ET_CaleArea&#xff0c;按回车键。 执行命令后&#xff0c;命令行将显示如下信息&#xff1a; 命令: MxET_CaleArea 拾取闭合区域内部点: 计算的面积为…

怎样去测量CAD面积?

2019独角兽企业重金招聘Python工程师标准>>> 我们在利用CAD看图软件查看CAD图纸时&#xff0c;有时候需要对里面的CAD图形面积进行测量&#xff0c;那么我们应该怎么测量CAD图纸面积&#xff1f;怎样用CAD测量面积&#xff1f;CAD面积怎么算&#xff1f; 1.准备一款…

ROS:发布者Publisher的编程实现(C++)

目录 一、话题模型二、创建功能包三、创建Publisher代码四、编译代码五、运行 一、话题模型 图中&#xff0c;我们使用ROS Master管理节点。 有两个主要节点&#xff1a; Publisher&#xff0c;名为Turtle Velocity&#xff08;即海龟的速度&#xff09; Subscriber&#xff0c…

GlobalMapper20:10分钟根据CAD、shp等离散高程点生成一份精准边界的地形数据

序&#xff1a; 做工程设计&#xff0c;规划设计也好&#xff0c;经常性需要地形数据&#xff0c;而到手的数据多数为excel、txt等文本文件&#xff0c;或者等高线等cad文件。 设计方案汇报是设计项目经理的主要职责&#xff0c;经常需要把设计中的地形&#xff08;shp、cad、…

CAD中怎么批量标注坐标?CAD批量标注坐标​

在CAD绘图过程中&#xff0c;当需要进行有大量CAD坐标标注时&#xff0c;该如何操作呢&#xff1f;下面就来和小编一起来了解一下浩辰CAD建筑中关于批量标注普通坐标的相关操作步骤吧&#xff01; CAD批量标注普通坐标操作步骤&#xff1a; 首先打开浩辰CAD建筑软件&#xff…

ARCGIS格式转CAD时保留其图层、高程及颜色的方法

ARCGIS格式转CAD时保留其图层、高程及颜色的方法 一.转换时&#xff0c;保留高程值 通常情况&#xff0c;shp转CAD格式过程中会丢失某些需要的字段&#xff08;如高程&#xff09;&#xff0c;这是因为CAD无法识别这些字段。如果需要保留某字段的信息&#xff0c;转换之前需添…

CAD导入Revit缺少东西原因-Revit中如何批量导出CAD图纸

一、CAD导入Revit缺少东西原因汇总 在Revit中导入CAD进行模型搭建是建模过程中常用的方法&#xff0c;但是有时会遇到导入的CAD缺少东西的情况&#xff0c;下面介绍几种导致这种问题的原因 1.CAD导入的时候&#xff0c;不是设置为全部可见。 CAD导入Revit中时&#xff0c;“图层…

CAD图纸导入REVIT内并精准建模

整体原理逻辑&#xff1a; 1、CAD图纸(原点至原点&#xff09;导入&#xff0c;作为建模参考底图&#xff0c;此刻测量点、项目基点位置都与CAD图纸原点重合。 2、测量点位置不动&#xff08;目的是为了保障明确参考坐标系原点的坐标&#xff09;&#xff0c;挪动项目基点位置…

CAD中怎么绘制攒尖屋顶?CAD设计攒尖屋顶技巧

在给排水CAD设计中&#xff0c;有些时候为了需要会在图纸中绘制攒尖屋顶&#xff0c;那么你知道CAD软件中怎么构造攒尖屋顶三维模型吗&#xff1f;其实很简单&#xff0c;浩辰CAD给排水软件中提供了实用的攒尖屋顶功能&#xff0c;下面就和小编一起来看看浩辰CAD给排水软件中CA…

CAD中如何识别CAD标高范围?

说到CAD标高&#xff0c;相信很多CAD制图初学入门小伙伴都有所了解&#xff0c;那么浩辰CAD给排水软件中如何识别标高范围呢&#xff1f;接下来的CAD制图初学入门教程就让小编来给大家介绍一下正版CAD软件——浩辰CAD给排水软件中识别CAD标高范围的相关操作技巧吧&#xff0c;感…

CAD地形图等高线标高批量取整工具,解决等高线标高出现小数的问题,等高线高程批量取整,在指定限差内将等高线标高修改为最接近的整数

目录 一、实现效果 二、实现过程 1.暴露等高线标高 2.获取标高小数 3.标高取整 4.标高重新赋值及数据分类输出 5.工具封装 地形图等高线要求高程值须为整数&#xff0c;而在实际生产中&#xff0c;因为某些原因&#xff0c;会出现部分等高线的标高不为整数的情况&#x…

Revit中导入的CAD标高不统一处理及“标高管理”

一、Revit中如何处理导入的CAD标高不统一情况 在Revit中CAD时&#xff0c;尤其是在导入地形CAD文件时&#xff0c;有时会遇到导不进去的情况&#xff0c;这有可能是导入的CAD文件某一个图层标高过大&#xff0c;超出一定范围的原因&#xff0c;如图1所示。 对于这种问题&#x…

CAD中怎么识别标高范围?CAD标高范围识别技巧

说到CAD标高&#xff0c;相信很多CAD制图初学入门小伙伴都有所了解&#xff0c;那么浩辰CAD给排水软件中如何识别标高范围呢&#xff1f;接下来的CAD制图初学入门教程就让小编来给大家介绍一下正版CAD软件——浩辰CAD给排水软件中识别CAD标高范围的相关操作技巧吧&#xff0c;感…

CAD中怎么标注井底标高?CAD井底标高教程

在绘制CAD图纸的过程中&#xff0c;经常会需要添加各种CAD标注&#xff0c;比如&#xff1a;尺寸标注&#xff0c;角度标注等。但是井标注可能很多小伙伴没有听过&#xff0c;接下来的CAD教程就让小编来给大家介绍一下浩辰CAD给排水软件的专业CAD标注中井标注的相关使用技巧吧&…

STM32中TIM对应的引脚

高级控制定时器&#xff08;TIM1与TIM8&#xff09; 通用定时器&#xff08;TIM2~TIM5&#xff09; 基本定时器&#xff08;TIM6与TIM7&#xff09;

td是什么意思php,td是什么意思?

td是大家在生活中或电脑中都很常见的&#xff0c;那么td到底是什么意思呢&#xff1f; 1.有很多英文就算大家不知道什么意思&#xff0c;也经常会见到&#xff0c;td就算其中一个&#xff0c;无论是生活中还是网络中都经常会见到&#xff0c;那么td到底是什么意思呢&#xff0c…

STM32小白学习反思笔记——TIM

我的目标学习任务是使用STM32F429IG&#xff08;挑战者&#xff09;的基本定时器控制LED灯每隔0.5s闪烁一次。 首先我使用了CUBEMX工具进行基础部分配置&#xff0c;配置SYS&#xff0c;Debug为serial wire&#xff0c;RCC的HSE选择crystal/ceramic resonator。 一、设置clock …

TIM输出比较(PWM)

目录 一、输出比较 二、PWM简介 三、通用定时器的输出比较模块怎样输出PWM波形 四、输出比较8种模式 模式的介绍 &#xff08;1&#xff09;冻结 &#xff08;2&#xff09;匹配时电平翻转 &#xff08;3&#xff09;CNT与CCR无效&#xff0c;REF强制为无效电平或者有效电…