0

我是服务器验证的新手,我浏览了整个网络,找不到任何东西。我正在尝试通过将表单发布到自身并根据表单是否有效在数组中返回 1 或 0 来验证表单。这很好用,但我遇到的问题是,如果结果为 1,我想让登录屏幕淡出。我无法让它工作。

这是我的代码:

PHP的

if ($valid == 1) {

$isvalid = array('valid' => $valid);


echo json_encode(array_values($isvalid));

};

javascript

<script>
$(document).ready(function(){

$('#login_button').click(function(){ 

$.getJSON("/index.php",function(result){
console.log(result);


});
});

});
</script>

没有任何输出到控制台,我也尝试过警报,但没有任何反应。JSON 似乎在左上角工作,我得到一个 [1] 这应该是我需要的。

这是我的整个代码,也许是放置脚本的问题?

<script type="text/javascript" src="/jquery-1.9.1.min.js">
</script>

\\wait to load the script until the document is ready

<script>
$(document).ready(function(){

//on submission

$('#login_button').click(function(){ 

//check if login was valid

$.getJSON("localhost/index.php",function(result){
console.log(result) .error(function() {console.log('error');});


});
});

});
</script>

<?PHP

$valid = 0;


//Declare the database connection

$con = mysql_connect("localhost","root");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

//Has the form been submitted?

if(isset($_POST['Username'])){








//Check if Username and PW correct
 mysql_select_db ("Users",$con);

  $sqlCheckUser = mysql_query ( "select Username from userinfo where UserName = '$_POST[Username]' && Password = MD5('$_POST[Password]')");


  //Parse Results


  $row = mysql_fetch_assoc($sqlCheckUser); 

//is the login valid

  if (isset($row) && !empty ($row))  {


 $valid = 1;

   }

   else {
       $badpw = "Invalid Username or Password";
   }

}


//handle if form has not been submitted



else {
echo "<center>Please Enter Username and Password</center><br />";
};



if ($valid == 1) {

$isvalid = array('valid' => $valid);


echo json_encode(array_values($isvalid));

};




?>

</head>

我验证了我的 JSON,看起来不错有人知道发生了什么吗?我真的需要这个工作。

编辑

好的,所以将它附加到我的代码中确实给了我错误。

脚本现在如下所示

<script>
$(document).ready(function(){

$('#login_button').click(function(){ 

$.getJSON("index.php",$('#Login').serialize(),function(result){

alert(result);

})




.error(function(error) { alert(error); console.log(error); })


})

});
</script>

警报文本是 [object Object]

控制台输出是这样的:

object ready state: 0
getResponseHeader: Function
getAllRequestHeaders: Function
SetRequestHeader: Function
overrideimetype: function 

http://i.imgur.com/Ei2bBAR.jpg (我截取了一张截图,因为它不会在控制台中停留足够长的时间让我阅读它)

4

1 回答 1

0

您的响应数据result与回调函数一样位于变量上,因此请更改:

console.log(json);

console.log(result);
于 2013-03-05T03:27:41.780 回答