Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数据库数据检索到JSON-移动登录表单_Javascript_Php_Json_Cordova - Fatal编程技术网

Javascript 将数据库数据检索到JSON-移动登录表单

Javascript 将数据库数据检索到JSON-移动登录表单,javascript,php,json,cordova,Javascript,Php,Json,Cordova,我正在使用Phonegap创建移动应用程序,首先需要登录。如果登录成功,它将把数据检索到JSON 这是连接到移动站点并检索数据的PHP页面 <?php $con = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password,$mysql_database); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_

我正在使用Phonegap创建移动应用程序,首先需要登录。如果登录成功,它将把数据检索到JSON

这是连接到移动站点并检索数据的PHP页面

<?php
$con = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password,$mysql_database);
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}else{
    //echo 'ok';
}

if(isset($_POST['username']) && isset($_POST['password'])){
    $username = $_POST['username'];
    $password = $_POST['password'];
}

$sql = "SELECT * FROM member WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($con,$sql);

if (!$result) {
  //die('Error: ' . mysqli_error($con));
  $data = array('status'=>'failure','Error: ' . mysqli_error($con));
}else {
    //$result = mysqli_query($con,$sql);
    $row = mysqli_fetch_array($result);
    $details = array(
                        'id'=>$row['id'],
                        'username'=>$row['username'],
                        'email'=>$row['email'],
                        'password'=>$row['password'],
                        'repassword'=>$row['repassword'],
                    );
    $data = array('status'=>'success','data'=>$details);
}
echo json_encode($data);
mysqli_close($con);
?>

有几个问题我可以马上解决:

  • 您正在测试
    isset($\u POST['username'])和&isset($\u POST['password'])
    ,但是,您实际上没有捕捉到未设置它们的情况,并且您正在继续使用空/空值执行代码
  • 我在对您的问题的评论中提到的SQL注入问题,您不应该让此代码在面向公众的网站上可见
  • 如果没有更多细节,我无法确定问题是在于HTML、PHP还是JavaScript

    在测试用户名/密码时,我会更改if/else以返回类似以下内容:
    $data=array('status'=>'failure','Error'=>'Invalid username/password')未设置用户名/密码时


    我希望这有帮助。

    您是否有任何错误消息?登录POST后$data的值是多少?也不相关,此代码不应出现在面向公众的Web服务器上,它可以接受SQL注入。IE:如果我发布的密码为“'或'1'='1”,您的代码将返回任何密码的有效用户。-在发送到数据库之前,你需要转义任何用户输入。是的,我知道。这是非常初级的编码。但我想做的是将数据库数据检索到JSON对象中,您可以通过单击我得到一些空值来查看我的url。。但我指的是我的讲师链接,它没有给出结果。你有到HTML的链接吗?我不认为这与HTML页面无关。因为我们首先登录了这个talenweave.com/LeaveApp/login.php,我想创建自己的php页面来检查它是如何工作的。。
    <script>
        function login(){
    
    var uName=$("#loginID").val();
    var pwd=$("#pwdID").val();
    
    $.post("http://boost.meximas.com/mobile/verifying.php", { username: uName, password: pwd },
       function(json){
    console.log(json);
    var obj = jQuery.parseJSON(json );
    console.log(obj.status);
    if(obj.login == "success"){
    alert("success");
    }
    else
    alert("Incorrect user name or password");
    });
    }
        </script>
    
    
    <div data-role="content">
                    <Table>
        <tr><td>Login</td>
        <td><input class="fld" id="loginID" name="txtNum1" type="text" value="" /></td></tr>
        <tr><td>Password</td>
        <td><input class="fld" id="pwdID" name="txtNum1" type="text" value="" /></td></tr>
    
    </Table>
        <a class="ui-button" data-role="button" onClick="login();" data-transition="slide" id="flipid" >Login</a>
            </div>