这是来自登记表。此功能验证用户名是否可用。
jQuery的:
/* Verifies if the username is available */
$.post('functions/usernameDisponibility.php',{usernamePHP:username},function(disponibility)
{
$('.usernameErrors').text(disponibility);
if(disponibility==true)
{
$('#username').css('border-color','#00ff00');
}else
{
$('#username').css('border-color','red');
$('.usernameErrors').text('Username unavailable');
}
});
PHP:
if(isset($_POST['usernamePHP'])&&!empty($_POST['usernamePHP']))
{
$username = $_POST['usernamePHP'];
$Connect = mysql_connect('localhost','root','');
mysql_select_db('phplogin');
$query= mysql_query("SELECT * FROM users WHERE username = '$username'");
$result= mysql_num_rows($query);
if($result==1)
{
echo false;
}else
{
echo true;
}
}
问题在于错误显示。当disponibility!= true时,它显示“Username unavailable”,但是当它为true时显示“1”。我的猜测是“1”来自PHP脚本,但即使我这样做:
if(disponibility==true)
{
$('#username').css('border-color','#00ff00');
$('.usernameErrors').text('');
}else
“1”仍然很快显示,然后它被文本('')替换。我怎么办“1”根本不显示?
答案 0 :(得分:0)
因为这个:
$('.usernameErrors').text(disponibility);
在进行任何检查之前,您正在输出“disponibility”变量的内容。删除该行