PHP和amp;MySQL基础四:模拟登录Login功能案例
目录
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传进来的pwd
-
if($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)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhkaehf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22