該代碼用於簡單的登錄驗證。PHP腳本不會將變量返回給AJAX
將值返回給JavaScript時,PHP腳本似乎不運行,但在沒有要返回的變量時運行正常。 所以有什麼不對,或者我需要添加其他任何東西來從PHP返回值。
<?php
header('Content-type: application/json; charset=utf-8');
include("config.php");
$formd=array();
//Fetching Values from URL
$username2=$_POST['username1'];
$password2=$_POST['password1'];
$query = mysqli_query($db,"SELECT username FROM login WHERE username = '$username2'");
$result=mysqli_fetch_assoc($query);
$sql=mysqli_query($db,"SELECT password FROM login WHERE username = '$username2'");
$resul=mysqli_fetch_assoc($sql);
$row = mysqli_fetch_array($query,MYSQLI_ASSOC);
$count = mysqli_num_rows($query);
$pass=$resul['password'];
if((password_verify($password2,$pass))and($count==1)) {
echo "ds";
} else {
echo "no";
$formd['no']="Invalid password or username"
}
mysqli_close($db); // Connection Closed
echo json_encode($formd);
exit();
?>
的JavaScript
<script>
$(document).ready(function(){
$("#submit").click(function(){
var username = $("#username").val();
var password = $("#password").val();
// Returns successful data submission message when the entered information is stored in database.
var dataString = 'username1='+ username + '&password1='+ password;
if(username==''||password=='') {
alert("Please Fill All Fields");
} else {
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "ajaxsubmit.php",
dataType: "json",
data: dataString,
success: function(data){
alert(data.no);
}
});
}
return false;
});
});
</script>
如果你的$ formd變量是空數組,它將不會被顯示。嘗試與另一個變量。然後改爲使用'console.log(data);' –
使用瀏覽器'console',一個功能強大的工具,如果你知道如何使用它 –
你的PHP腳本有兩個回聲,所以返回的數據將是第一個回聲而不是json_encode 。刪除除了'echo json_encode($ formd);'之外的所有回顯;或者刪除警報中的data.no,並僅將數據 –