我遇到了一个问题,即代码不断显示用户名可用,即使该用户名已存在于数据库中。谁能解决我遇到的问题?下面是我的代码。
的PHP
// Define $username
$username=$_POST["emailAddress"];
// Create Connection
$db = new mysqli($server, $user, $password, $database);
// Check Connection
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
// SQL query to fetch registerd users and finds user match.
$query = "SELECT email_address FROM users WHERE email_address='$username'";
$result = mysqli_query($db,$query);
$rows = mysqli_num_rows($result);
//if number of rows fields is bigger them 0 that means it's NOT available '
if($rows>0){
//and we send 0 to the ajax request
echo 0;
}else{
//else if it's not bigger then 0, then it's available '
//and we send 1 to the ajax request
echo 1;
}
mysqli_close($db); // Closing Connection
jQuery的
$(document).ready(function () {
//when button is clicked
$('[name="checkAvail"]').on("click", function () {
check_availability();
});
});
//function to check username availability
function check_availability() {
//get the username
var username = $('[name="emailAddress"]').val();
//use ajax to run the check
$.post("checkusers.php",
function (result) {
//if the result is 1
if (result == 1) {
//show that the username is available
$('.existingUser').html(username + ' is Available');
} else {
//show that the username is NOT available
$('.existingUser').html(username + ' is NOT Available');
}
});
}
的HTML
<div class="form-group">
<button class="btn btn-default" name="checkAvail">Check Availability</button>
<label for="emailAddress" class="col-sm-5 control-label">Email:</label>
<div class="col-sm-4">
<input type="email" class="form-control" id="emailAddress" name="emailAddress" placeholder="Email" autocomplete="off">
</div>
</div>
参考方案
您的ajax没有发送任何数据...因此$_POST["emailAddress"];
在您的php中将为空
您需要添加一个数据对象作为$.post
的第二个参数
$.post("checkusers.php",{emailAddress : username },function (result) {
// success handing code left out for clarity
});
另外,您应在允许用户检查输入内容之前检查输入是否为空。向服务器发送无效的空值毫无意义。
您可以使用许多简单的javascript验证插件。
同样,在服务器上应该验证用户输入。这是验证的最重要点,因为可以解决javascript问题,以允许发送任何内容
PHP:将数组值加在一起 - php我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…
PHP JQuery复选框 - php我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(…
PHP:获取调用引用的数组名称 - php假定以下函数并调用:function doSomething( &$someArray ) { // Do something to $someArray } $names=array("John", "Paul", "George", "Ringo"); doSomet…
如何从php中获取datatables jQuery插件的json数据 - php我是PHP的新手,正在尝试使用Datatables jQuery插件。我知道我必须从.php文件中获取数据,然后在数据表中使用它,但是我似乎无法通过ajax将其传递给数据表。我设法从数据库中获取数据,并对其进行json编码,但是后来我不知道如何在我的index.php文件中调用它,并在其中显示它。我究竟做错了什么?这是我的代码:HTML(已编辑): <…
PHP-MySQL结果转换为JSON - php我试图了解如何将MySQL结果转换为JSON格式,以便以后可以在Javascript中使用此JSON来构建HTML表。但是我的代码只是产生大量的空值,我还不明白为什么。$result = mysqli_query($con, "SELECT * FROM Customers"); $test = json_encode($result);…