2016-11-06 7 views
0

だから、ここに私のジレンマがあります。私は、.jsファイルがjsonデータをPHPファイルに送信し、PHPがそれを受け取り、SQLコマンドを実行する点で.jsファイルが動作していることがわかります。開発者ビューは、これが正しく動作していることを示しています。私の問題は、JSファイルの 'function(data){}'セクションで、JSON配列を正しく操作する方法がわかりません。つまり、json値が返されたかどうかを確認する方法はわかりません。JS/JQueryでJSONオブジェクトを読み込み、PHPによって返される

どのようなヘルプやヒントをいただければ幸いですか?

JSコード:

$(document).ready(function(){ 


$('#login_button').click(function(){ 
    //get values from input text boxes (Email & Password) 
    var email = $('#email').val(); 
    var password = $('#password').val(); 

$.post('http://localhost:8888/php/login.php', {email1:email, password1:password}, function(data) { 
    $("#login_button").html(result); //print JSON returned 
    if (result[0] == "success"){ //check if 'success' returned by PHP file 
     console.log(data); 
     alert('working'); 
     window.location.replace("http://localhost:8888/index.html"); // 
    } else { 
     console.log(data); 
     alert('error'); 
    } 
    // console.log(data); 
}, "json"); 

});//eo login_button 
});//eof 

PHPコード:成功機能で

<?php 

//server info 
$servername = "localhost"; 
$username = "root"; 
$dbpassword = "root"; 
$dbname = "personal_data"; 


//Establish server connection 
$conn = new mysqli($servername, $username, $dbpassword, $dbname); 


//Check connection for failure 
if (mysqli_connect_errno()) { 
    $error = (mysqli_connect_error()); 
    echo "error"; 
    exit(); 
} 


print_r($_POST); 
//Read in email & password 
$email = mysqli_real_escape_string($conn, $_POST['email1']); 
$password = mysqli_real_escape_string($conn, $_POST['password1']); 

// echo $email; 
// echo $password; 

$sql = "SELECT Name, Age FROM personal_data WHERE Email='$email' AND Password='$password' LIMIT 1"; 
$result = mysqli_query($conn, $sql); 

if(mysqli_num_rows($result) > 0){ 
     $jsonString = array('result' => 'success'); 
     echo json_encode($jsonString); 
} else { 
    $jsonString = array('result' => 'failure'); 
    echo json_encode($jsonString); 
    } 

mysqli_close($conn); 
?> 

答えて

0

、あなたはデータ

$.post('http://localhost:8888/php/login.php', {email1:email, password1:password}, function(data) { 
    $("#login_button").html(data); //print JSON returned 
    if (data[0] == "success"){ //check if 'success' returned by PHP file 
     console.log(data); 
     alert('working'); 
     window.location.replace("http://localhost:8888/index.html"); // 
    } else { 
     console.log(data); 
     alert('error'); 
    } 
}); 
を使用する必要があります
+0

私はこれを実装しましたが、問題を解決しませんでした:/他のアイデア? –

+0

Firebugで** http **の請願を見ることができますか? – ELM

+0

[Firebug](https://addons.mozilla.org/es/firefox/addon/firebug/) は、HTTPリクエストを表示するツールです。まず、HTTPリクエストが発生しているかどうかを確認する必要があります。 JS関数(function(){})の中に "alert"が見えない場合は、おそらくPHPがうまく対応していません。これはFirebugで見ることができます。 – ELM

関連する問題