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);
?>
私はこれを実装しましたが、問題を解決しませんでした:/他のアイデア? –
Firebugで** http **の請願を見ることができますか? – ELM
[Firebug](https://addons.mozilla.org/es/firefox/addon/firebug/) は、HTTPリクエストを表示するツールです。まず、HTTPリクエストが発生しているかどうかを確認する必要があります。 JS関数(function(){})の中に "alert"が見えない場合は、おそらくPHPがうまく対応していません。これはFirebugで見ることができます。 – ELM