• 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 )
                        
                    }


                }
            })
    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    python的内存管理
    redis 为啥要主从复制·
    django框架的ORM模型优缺点
    Pytorch学习:实现ResNet34网络
    Pytorch学习:线性回归
    Pytorch学习:CIFAR-10分类
    论文阅读笔记(六十七)【arXiv2021】:Contextual Non-Local Alignment over Full-Scale Representation for Text-Based Person Search
    论文阅读笔记(六十六)【ICCV2019】:Adversarial Representation Learning for Text-to-Image Matching
    论文阅读笔记(六十五)【ECCV2018】:Deep Cross-Modal Projection Learning for Image-Text Matching
    论文阅读笔记(六十四)【arXiv2021】:TransReID: Transformer-based Object Re-Identification
  • 原文地址:https://www.cnblogs.com/ht955/p/14109562.html
Copyright © 2020-2023  润新知