OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3716|回复: 0

php简单登录(收藏防迷路)

[复制链接]

143

主题

145

帖子

0

精华

高级会员

Rank: 4

积分
585
金钱
585
注册时间
2020-5-25
在线时间
42 小时
发表于 2020-12-9 17:06:03 | 显示全部楼层 |阅读模式
<?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



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 12:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表