0

私はサーバー検証に不慣れで、Web全体を調べましたが、何も見つかりませんでした。フォームをphpで検証しようとしています。フォームを自分自身に投稿し、フォームが有効かどうかに応じて、配列に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 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 に答える