我正在尝试查看是否已在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";
}
?>
答案 0 :(得分: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的受害者。