会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132388个问题
Python 全系列/第一阶段:Python入门/编程基本概念 8146楼
人工智能/第四阶段:人工智能基础-高等数学知识强化/一元函数微分学 8147楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 8148楼
Python 全系列/第一阶段:Python入门/面向对象 8149楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 8152楼
WEB前端全系列/第十一阶段:前端工程化/Webpack 8153楼

老师你好,我在做登录验证的时候出现了如下错误,想请你帮我看看:

<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>post请求</title>
</head>

<body>
    <!--
        描述:post请求和get请求的差异就在于多了一个表单数据,在
    xhr对象中可以通过FormData进行构建
        语法:var formData = new FormData();
              formData.append('ket':value);//value如果是字符串类型则要加引号
              xhr.send(formData);
        说明:至于formData的创建时机和位置,只要你能够在请求发送出去之前
    也就是xhr.send()语句被写出之前添加给xhr对象,那么你愿把formData放哪就放哪
        
    -->
    <label for="username">
    <span>用户名:</span><input type="text"  id="username"  class="username"/>
</label><br/>
    <label for="password">
    <span>密码:</span><input type="text"  id="password"  class="password"/>
</label><br/>
    <button>登陆</button>

    <script>
        var usernameInput = document.querySelector('.username');
        var passwordInput = document.querySelector('.password');
        var btn = document.querySelector('button');

        btn.onclick = function() {
            //兼容性问题,考虑兼容IE使用 ActiveXObject()  非IE使用XMLHttpRequest()
            //        xhr = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("");
            var xhr = new XMLHttpRequest();

            xhr.onreadystatechange = function() {
                if (xhr.readyState != 4) return;

                if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {

                    var jsonData = JSON.parse(xhr.responseText);

                    if (jsonData.infoCode == 0) {
                        alert('登陆成功');
                    } else if (jsonData.infoCode == 1) {
                        alert('登陆失败');
                    } else {
                        alert('网络异常');
                    }
                    console.log(JSON.parse(xhr.responseText));
                }
            };

            xhr.open('post', '03post请求.php', true);

            //构建post表单数据,使用FormData类构建数据
            var datas = new FormData();
            datas.append('uname', usernameInput.value);
            datas.append('upass', passwordInput.value);
            xhr.send(datas);
        }
    </script>
    <!--
        xhr对象的兼容性问题:
        描述:xhr对象的获取方式在IE和非IE下是需要使用不同方法的
        语法:
            标准浏览器支持的方法:XMLHttpRequest()
            IE浏览器支持的方法:ActiveXObject()
        例子:
        if(window.XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else if(window.ActiveXObject){
            xhr = new ActiveXObject();
        }
        或
        xhr = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject();
    -->
</body>

</html>
<?php
     $username=$_POST['uname'];
     $password=$_POST['upass'];
     $success=array('msg'=>"ok");
 
     //连接数据库
    $con=mysqli_connect('localhost','root','123456','beixidb');
 
    //判断数据库是否连接成功
     if($con){

        //添加辅助设置,避免乱码
         mysqli_query($con,'set names utf8');
         mysqli_query($con,'set character_set_client=utf8');
         mysqli_query($con,'set character_set_results=utf8');
 
         //查询表中所有数据
         $sql="select * from userinfo where 1";

         //让db连接,执行sql语句,并获得相应的结果
         $res=$con->query($sql);

         if($res->num_rows>0){
           $info=[];

           //遍历循环获取$res里的数据
           for($i=0;$row=$res->fetch_assoc();$i++){
             $info[$i]=$row;
           }
         }

         //判断是否登陆成功
           $flag=false;  //默认false表示登陆失败,如果登陆成功,则变成true
         for($j=0;$j<count($info);$j++){
           if($info[$j]['username']==$username){
             if($info[$j]['password']==$password){
                $success['infoCode']=0;
                 $flag=true;
                break;
             }
           }

           if($flag==false){
             $success['infoCode']=1;
           }
         }

     }else{
       $success['infoCode']=2;//  0代表成功;1 代表失败;  2代表数据库连接失败
     }
?>


这是我创建的数据库的截图:

图片.png


这是浏览器报的错误:

图片.png


WEB前端全系列/第六阶段:Http服务与Ajax模块(旧)/Http服务与Ajax编程 8154楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO流技术 8155楼
Python 全系列/第五阶段:数据库编程/mysql介绍与环境安装 8156楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 8158楼
JAVA 全系列/第十一阶段:消息中间件与高并发处理/RabbitMQ 8159楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 8160楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637