我想檢查我的用戶名是否可用於註冊或不使用jQuery,該腳本實際上沒有錯誤的工作,但它一直說" the username in use "
即使沒有用戶名記錄在數據庫中。用戶檢查與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"> 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(' <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>
我哪裏出錯了?
我提出了這個問題,我把這個功能稱爲 –
Eek ..容易受到[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)的影響。如果你看到你的消息,「用戶名已被使用」,那麼你知道'mysql_num_rows'返回大於0.你知道什麼是實際的查詢/返回? '$ username'是什麼? – Josh
它應該從數據庫返回用戶名。 –