Php 使用ajax的用户已存在脚本始终返回用户已获取的消息
我是PHP新手,我创建了一个简单的登录页面,在该页面中我应用了一个ajax脚本来检查用户是否已经存在。 但无论我是否插入了新值,脚本都会返回用户已获取的消息。我检查了整个代码,但找不到出错的线索Php 使用ajax的用户已存在脚本始终返回用户已获取的消息,php,ajax,Php,Ajax,我是PHP新手,我创建了一个简单的登录页面,在该页面中我应用了一个ajax脚本来检查用户是否已经存在。 但无论我是否插入了新值,脚本都会返回用户已获取的消息。我检查了整个代码,但找不到出错的线索 admin.php ========== <head> <script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript" src =
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");
}
}
});
});
});
在javascript文件中,为零加引号
if(data == '0')
将此更改为
$.ajax(
{
type:"post",
url:"check.php",
data:"username="+username
这个
如果在check.php中替换
echo $find;
与
在ajax调用中,检查数据是否有值。更改此行
'data:"username="+username,success:function(data)'
到
这将起作用ifdata==0怎么会是真的?检查firebug中的响应??还有一个技巧是在success函数中始终使用response named variable,这将帮助您进行编码和调试。虽然这个答案可能是正确的,但如果它解释了为什么需要引号,则会更有用。哇。你是个天才。如果你有时间,那么请再检查一次我的查询嗨,请检查
if($find>0)
{
echo 'something';
}
'data:"username="+username,success:function(data)'
data:{"txtusername":username},success:function(data)