我是PHP的新手,我创建了一个简单的登录页面,我在其中应用了一个ajax脚本来检查“用户是否已经存在”。 但是,无论我是否插入新值,脚本总是返回“用户已被采取”消息。我检查了整个代码,我无法弄明白我错误的线索。
admin.php
==========
<head>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src ="usernameavail.js"></script>
</head>
<form action="admin.php" method="post" name="loginfrm">
<table width="600" border="0">
<tr>
<td>User Name</td>
<td><input name="txtusername" type="text" maxlength="15" id="txtusername" /></td>
<span id="message"></span>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>Password</td>
<td><input name="txtpass" type="password" maxlength="7" />
<span style="color:#FF0000">*</span> Minimum 5 alphanumeric
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit"/></td>
</tr>
<tr>
<td><a href="">Forget password?</a></td>
<td><a href="registration.php">New Register</a></td>
</tr>
</table>
</form>
=========
check.php
=========
<?php
include ("includes/dbConfig.php");
$username=$_POST["txtusername"];
$query=mysql_query("SELECT * from logininfo where username='$username' ");
$find=mysql_num_rows($query);
echo $find;
?>
===================
usernameavail.js
===================
$(document).ready(function()
{
$("#txtusername").change(function()
{
$("#message").html("<img src='images/ajax-loading.gif' /> checking...");
var username= $("#txtusername").val();
$.ajax(
{
type:"post",
url:"check.php",
data:"username="+username,success:function(data)
{
if(data==0)
{
$("#message").html("<img src='images/accept.png' /> Username available");
}
else
{
$("#message").html("<img src='images/error.png' /> Username already taken");
}
}
});
});
});
答案 0 :(得分:0)
在javascript文件中,将引号设为零
if(data == '0')
答案 1 :(得分:0)
将此更改为
$.ajax(
{
type:"post",
url:"check.php",
data:"username="+username
此
$.ajax(
{
type:"post",
url:"check.php",
data: username:username
答案 2 :(得分:0)
如果在check.php
替换
echo $find;
与
if($find>0)
{
echo 'something';
}
在你的ajax调用中检查数据是否有价值。
答案 3 :(得分:0)
更改此行
'data:"username="+username,success:function(data)'
到
data:{"txtusername":username},success:function(data)
这将有效