php简单登录

<?php // 1,php接收参数 $userName = $_POST['userName']; $userPwd = $_POST['userPwd']; // 2,PHP需要操作数据库 // 通过 PHP提供的 mysqli 函数方法来操作数据库 // 本质也是通过SQL语句来操作数据库,只是执行是通过PHP程序执行 // 2-1链接MySQL数据库服务器 // 数据库地址 账号 密码 库名 端口号 $link = mysqli_connect( '127.0.0.1' , 'root' , 'root' , 'nz2003' , 3306 ); // 2-2定义SQL语句 // 验证账号密码,只要有结果就可以,具体内容不重要,就查询显示最简单的id就可以了 $sql = "SELECT `id` FROM `user` WHERE `userName` = '{$userName}' AND `userPwd` = '{$userPwd}' "; // 2-3执行SQL语句 // 当期执行的是查询语句,结果不会是 布尔类型 // 是一个结果集对象 包含所有结果内容的对象 $result = mysqli_query( $link , $sql ); // 2-4从 结果集对象 中 抽取提取数据 组成新的数据 $arr = mysqli_fetch_all( $result , MYSQLI_ASSOC ); // PHP中 通过 count() 函数来获取数组单元个数 if( count($arr) === 0 ){ // 数组 长度为 0 表示 没有查询结果,账号密码有误 $res = [ 'res'=>'0', 'msg'=>'登录失败,账号密码错误', ]; }else{ // 数组 长度不为 0 表示 有查询结果,账号密码正确 $res = [ 'res'=>'1', 'msg'=>'登录成功', ]; } echo json_encode( $res ); html页面 const xhr = new XMLHttpRequest(); // 定义ajax请求对象 xhr.open( 'post' , 'login.php' ); // post方式传参 // 定义响应头 xhr.setRequestHeader('content-type' , 'application/x-www-form-urlencoded'); // 传参只传,账号密码,不穿验证码 xhr.send(`userName=${name}&userPwd=${pwd}`); // 接收结果,响应体 xhr.onload = ()=>{ console.log( JSON.parse( xhr.response ) ); const res = JSON.parse( xhr.response ) if(res.res === '1'){ // 登录成功,可以输出提示信息 // 可以通过 cookie 存储本地公共数据信息 // 任意一个页面都知道登录成功了 // 会专门设定 登录的键和值 // 键名一般是 login // 不同的键值,表示不同的登录状态 mySetCookie( 'login' , 1 , 7*24*60*60); // 5秒后跳转首页面 let int = 5; setInterval(()=>{ oDiv.innerHTML = `您登录成功,${int}秒之后,跳转首页面`; int--; if(int === 0){ window.location.href = './index.html'; } } , 1000 ) } } })<?php // 1,php接收参数 $userName = $_POST['userName']; $userPwd = $_POST['userPwd']; // 2,PHP需要操作数据库 // 通过 PHP提供的 mysqli 函数方法来操作数据库 // 本质也是通过SQL语句来操作数据库,只是执行是通过PHP程序执行 // 2-1链接MySQL数据库服务器 // 数据库地址 账号 密码 库名 端口号 $link = mysqli_connect( '127.0.0.1' , 'root' , 'root' , 'nz2003' , 3306 ); // 2-2定义SQL语句 // 验证账号密码,只要有结果就可以,具体内容不重要,就查询显示最简单的id就可以了 $sql = "SELECT `id` FROM `user` WHERE `userName` = '{$userName}' AND `userPwd` = '{$userPwd}' "; // 2-3执行SQL语句 // 当期执行的是查询语句,结果不会是 布尔类型 // 是一个结果集对象 包含所有结果内容的对象 $result = mysqli_query( $link , $sql ); // 2-4从 结果集对象 中 抽取提取数据 组成新的数据 $arr = mysqli_fetch_all( $result , MYSQLI_ASSOC ); // PHP中 通过 count() 函数来获取数组单元个数 if( count($arr) === 0 ){ // 数组 长度为 0 表示 没有查询结果,账号密码有误 $res = [ 'res'=>'0', 'msg'=>'登录失败,账号密码错误', ]; }else{ // 数组 长度不为 0 表示 有查询结果,账号密码正确 $res = [ 'res'=>'1', 'msg'=>'登录成功', ]; } echo json_encode( $res ); html页面 const xhr = new XMLHttpRequest(); // 定义ajax请求对象 xhr.open( 'post' , 'login.php' ); // post方式传参 // 定义响应头 xhr.setRequestHeader('content-type' , 'application/x-www-form-urlencoded'); // 传参只传,账号密码,不穿验证码 xhr.send(`userName=${name}&userPwd=${pwd}`); // 接收结果,响应体 xhr.onload = ()=>{ console.log( JSON.parse( xhr.response ) ); const res = JSON.parse( xhr.response ) if(res.res === '1'){ // 登录成功,可以输出提示信息 // 可以通过 cookie 存储本地公共数据信息 // 任意一个页面都知道登录成功了 // 会专门设定 登录的键和值 // 键名一般是 login // 不同的键值,表示不同的登录状态 mySetCookie( 'login' , 1 , 7*24*60*60); // 5秒后跳转首页面 let int = 5; setInterval(()=>{ oDiv.innerHTML = `您登录成功,${int}秒之后,跳转首页面`; int--; if(int === 0){ window.location.href = './index.html'; } } , 1000 ) } } }) 参考文本 学习视频资料:http://www.makeru.com.cn/live/1392_1164.html?s=143793
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值