【发布时间】:2019-09-18 11:27:23
【问题描述】:
我有下面的 ajax 调用来检查客户表中是否存在 card_number,但是,在这两种情况下,即使卡号存在,我也会得到相同的响应,即它不存在。所以最后两条消息都是“不存在”
agent_reload.php
<script type="text/javascript">
$(document).ready(function()
{
$("#card_number").change(function()
{
var card_num = $("#card_number").val();
$.ajax({
type: "POST",
url: 'CheckUserCardNumber.php',
data: "card_number="+card_number,
success: function(msg){
var Result = $.trim(msg);
if(Result === "does_not_exists")
{
alert("does not exist");
}
else
{
alert("exists");
}
}
});
return false;
});
});
</script>
CheckCardNumber.php
<?php
include('dbconnection.php');
if(isset($_POST['card_number']))
{
$Card_Number = $_POST['card_number'];
$sql = "select * from customers where card_id='$Card_Number'";
$Result = $db->query($sql);
if ($Result->num_rows != 0)
{
echo "exists";
}
else
{
echo "does_not_exists";
}
}
【问题讨论】:
-
你看过浏览器开发者工具中的请求/响应吗?
-
另外,您从用户输入中获取一个字符串并将其直接用于您的 SQL。高度危险(可以进行测试,但不要这样发货)。 SQL注入
-
你有一个错字。
var card_num然后"+card_number -
您必须首先确保ajax请求有成功结果,似乎成功函数没有正确处理,请最好将结果更改为结果。
-
@BilelKabtni - “请更好地将结果更改为结果。” - 为什么会“更好”?这只是偏好和代码风格的问题。
标签: javascript php mysql ajax