gpt4 book ai didi

php - 用户使用 jQuery 检查可用性

转载 作者:行者123 更新时间:2023-11-29 06:11:11 26 4
gpt4 key购买 nike

我正在尝试使用 jQuery 检查我的用户名是否可以注册,该脚本实际上没有错误,但它一直显示 “正在使用的用户名” 即使有数据库中没有用户名记录。

这是我的函数的 php 代码

function checkavailabileUserName($UserName) {
if(isSet($_POST['userName']))
{
$username = $_POST['userName'];


$sql_check = mysql_query("SELECT userUserName FROM user WHERE userUserName='$username'") or die(mysql_error());

if(mysql_num_rows($sql_check))
{
echo '<font color="red">The username <STRONG>'.$username.'</STRONG> is already in use.</font>';
}
else
{
echo 'OK';
}

}

}

我在名为 RegisterUserAction.php 的页面上调用此函数,如下所示

checkavailabileUserName($UserName);

这是 JavaScript 代码

pic1 = new Image(16, 16); 
pic1.src = "loader.gif";

$(document).ready(function(){

$("#userName").change(function() {

var usr = $("#userName").val();

if(usr.length >= 3)
{
$("#status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...');

$.ajax({
type: "POST",
url: "RegisterUserAction.php",
data: "userName="+ usr,
success: function(msg){

$("#status").ajaxComplete(function(event, request, settings){

if(msg == 'OK')
{
$("#userName").removeClass('object_error'); // if necessary
$("#userName").addClass("object_ok");
$(this).html('&nbsp;<img src="accepted.png" align="absmiddle"> <font color="Green"> Available </font> ');
}
else
{
$("#userName").removeClass('object_ok'); // if necessary
$("#userName").addClass("object_error");
$(this).html(msg);
}

});

}

});

}
else
{
$("#status").html('<font color="red">The username should have at least <strong>3</strong> characters.</font>');
$("#userName").removeClass('object_ok'); // if necessary
$("#userName").addClass("object_error");
}

});

});

最后是该字段的 HTML 代码

<td><label for="userName"></label>
<input type="text" name="userName" id="userName" onkeyup="twitter.updateUrl(this.value)" class="inn" />

<div id="status"></div>
<script type="text/javascript">
$( function () {
twitter.screenNameKeyUp();
$('#user_screen_name').focus();
});</script>

我哪里出错了?

最佳答案

您的代码中有一个错误。您正在使用 $UserName 作为函数 checkavailabileUserName 的参数,但您没有将该参数传递给该函数。这会导致错误,因此只有您收到“用户名正在使用”消息。

从函数中删除 $UserName 参数,代码将完美运行。

如果你能让你的代码更加干净整洁,并且可以使用 jquery ajax 调用和 PHP 代码,例如:

Jquery Ajax 调用

jQuery(document).ready(function(){
jQuery("#userName").change(function() {
jQuery("#status").empty();
var usr = jQuery("#userName").val();
if(usr.length >= 3)
{
jQuery("#status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...');
jQuery.ajax({
type: "POST",
url: "RegisterUserAction.php" ,
data: "userName="+ usr,
success: function(response){
if(response)
{
jQuery('#status').html('<img src="accepted.png" align="absmiddle"> <font color="Green"> Available </font>');
return true;
}
else
{
jQuery('#status').html('<font color="red">The username <STRONG>'+usr+'</STRONG> is already in use.</font>');
return false;
}

}
});
}
else
{
jQuery("#status").html('<font color="red">The username should have at least <strong>3</strong> characters.</font>');
return false;
}
});
});

PHP 代码:

function checkavailabileUserName($checkavailabileUserName) 
{
if(isset($_POST['userName']))
{
$username = $_POST['userName'];

$sql_check = mysql_query("SELECT userUserName FROM user WHERE userUserName ='$username'") or die(mysql_error());

if(mysql_num_rows($sql_check)>0)
{
echo false;
}
else
{
echo true;
}
}
else
{
echo false;
}
}

关于php - 用户使用 jQuery 检查可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9019941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com