🐮博主syst1m 带你 acquire knowledge!
✨博客首页——syst1m的博客💘
🔞 《网安小白成长之路(我要变成大佬😎!!)》真实小白学习历程,手把手带你一起从入门到入狱🚭
😘《CTF专栏》超级详细的解析,宝宝级教学让你从蹒跚学步到健步如飞🙈
😎《大数据专栏》大数据从0到秃头👽,从分析到决策,无所不能❕
🔥 《python面向对象(人狗大战)》突破百万的阅读量,上过各种各样的官方大型专栏,python面向对象必学之一!🐽
🎉希望本文能够给读者带来帮助,更好地理解这个问题或解决你的困惑🐾
学习PHP与MySQL交互可以更好的为后续的学习做铺垫,可以知道前端与后端之间的一个基本交互原理。
由于现在还没有学习怎么使用指令创建数据,这里我们就用可视化去操作
在小皮面板中点击软件管理找到PHPMyAdmin,安装到网站
打开 Apache 和 MySQL
再用浏览器访问 127.0.0.1/phpMyAdimn4.8.5
登录数据库,用户名是 root 密码默认是root
点击左侧列表的新建,进行创建数据库,名称随意,我写的test
创建完成之后就会在左侧的列表中啦
创建一个表,名字随意,我这是test_1
添加userName和userPasd字段,类型选择 TEXT 可以限制一下长度 点击保存
插入数据,输入你想要的用户名和密码
执行之后点击浏览就会出现刚刚添加的内容
写一个简单的登录界面,就两个输入框和一个提交按钮
用户登录
获取表单内容
使用$_POST获取传过来的表单内容
// 获取输入的内容 // trim去除掉两侧的空白或者预定字符 $userName = trim($_POST['userName']); $userPasd = trim($_POST['userPasd']); // 判断是否填写了信息 if ($userName == '' || $userPasd == '') { // 三秒后刷新到login.html header('refresh:3; url=login.html'); echo '用户名或密码不能为空,将在三秒后跳转回登录页面,请重新登录'; }if里面的判断不要只写一个 = 号,我之前写的时候漏了给我找了好久才发现
连接数据库
// mysqli_connect('数据库地址', '用户名', '密码', '数据库'); $con = mysqli_connect('localhost', 'root', '123456', 'test');判断是否成功连接到数据库
// 检查连接状态 if (mysqli_connect_errno()) { echo '连接数据库失败' . mysqli_connect_error(); // 停止执行后面的代码 exit(); }mysqli_connect_errno() 检查连接状态
mysqli_connect_error() 可以返回连接失败的原因
与数据进行匹配
翻译一下 选择 * 来自 test_1里面的 userName是否等于提交的用户名 和 userPasd是否等于提交的密码
*是通配符就是选择所有,也可以写成 select userName,userPasd 只选择两个
$sql = "select * from test_1 where userName = '$userName' and userPasd = '$userPasd'"; // 返回的结果 $result = mysqli_query($con, $sql);mysqli_query(数据库,MySQL语句)
判断返回值是否成功
mysqli_num_rows() 查看内容的行数
如果匹配成功的话返回值的行数就有很多数据,匹配失败的话就是空的
if (mysqli_num_rows($result) > 0) { echo "登录成功"; } else { header('refresh:3; url=login.html'); echo '用户名或密码错误,将在三秒后跳转回登录页面,请重新登录'; }PHP的全部代码
// 三秒后刷新到login.html header('refresh:3; url=login.html'); echo '用户名或密码不能为空,将在三秒后跳转回登录页面,请重新登录'; } // 连接数据库 // 数据库地址 用户名 密码 数据库 $con = mysqli_connect('localhost', 'root', '123456', 'test'); // 检查连接状态 if (mysqli_connect_errno()) { echo '连接数据库失败' . mysqli_connect_error(); // 停止执行后面的代码 exit(); } // 查看传入的数据是否与数据库中的相同 $sql = "select * from test_1 where userName = '$userName' and userPasd = '$userPasd'"; // 返回的结果 $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) > 0) { echo "登录成功"; } else { header('refresh:3; url=login.html'); echo '用户名或密码错误,将在三秒后跳转回登录页面,请重新登录'; }四、测试是否能成功登录
输入开始时自己在数据库中添加的用户名和密码
成功返回的页面
失败返回的页面
五、总结
代码量稍稍有些多,但是跟着文章一步一步的来,还是很简单易懂的,大体就是使用php接收前端传来的数据,与数据库连接后使用MySQL语句进行数据匹配。如果你还有什么问题的话,可以私信我哦!