0
그래서 여기 내 딜레마가 있습니다. .js 파일이 json 데이터를 PHP 파일로 보내고 PHP가이 파일을 받아 SQL 명령을 실행한다는 점을 알고 있습니다. 개발자보기에서 이것이 제대로 실행되고 있음을 알 수 있습니다. 내 문제는 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);
?>
이것을 구현했지만 문제를 해결하지 못했습니다 :/다른 아이디어? –
파이어 버그와 함께 ** http ** ** 청원서를 볼 수 있습니까 ??? – ELM
[Firebug] (https://addons.mozilla.org/es/firefox/addon/firebug/) 은 HTTP 요청을 볼 수있는 도구입니다. 먼저 HTTP 요청이 발생하는지 확인해야합니다. JS 함수 (function() {})에서 "alert"를 볼 수 없다면 PHP가 잘못 응답했을 가능성이 있습니다. Firebug로 이것을 볼 수 있습니다. – ELM