Javascript 将数据库数据检索到JSON-移动登录表单
我正在使用Phonegap创建移动应用程序,首先需要登录。如果登录成功,它将把数据检索到JSON 这是连接到移动站点并检索数据的PHP页面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_
<?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>