0

我正在尝试查看是否已在 mysql 数据库中使用了用户名,并且它似乎不想工作。理想情况下,它会在我在表格上输入时显示。任何帮助将不胜感激,因为我没有看到代码有任何问题。

在我的主页上是 jquery、javascript 和 html 的代码。对应的页面是testusername.php。

<script type="text/javascript">
$(document).ready(function() {
$('#feedback').load('testusername.php').show();
$('#username_input').keyup(function() {
$.post('testusername.php', { username:form.username.value }, 
function(result) {
$('#feedback').html(result).show();
});
});
});
</script>

<form name='form'>
<fieldset>
<legend>Test Form</legend>
Username: <br /><input type='text' id='username_input' name='username'></input>
</fieldset>
</form>
<div id = "feedback"></div>

testusername.php 是:

<?php 
include 'functions2.php';
?>
<?php
$username = mysql_real_escape_string($_POST['username']);
$query1a = mysql_query("SELECT * FROM users WHERE username='$username'");
$count = mysql_num_rows($query1a);
if ($count==0)
{
echo "Available";   
}
else {
echo "Username exists";
}
?>
4

1 回答 1

1

该脚本应该可以处理您的客户端部分,假设您已将 jQuery 正确加载到您的 pafe。

<script type="text/javascript">
$(document).ready(function() {
  $('#username_input').keyup(function() {
     $.post('testusername.php', { username: $(this).val() },function(result){
      $('#feedback').html(result).show();
     });
   });
});
</script>

对于服务器端,不要在查询中使用 *。您可能会使用类似的东西,SELECT 1 FROM ....您可能还想确保您不会成为SQL Injection的受害者。

于 2012-04-29T17:48:25.350 回答