网上下了个开源项目学习  其中注册验证用户名唯一的地方有点问题 不知道那里出问题了。
JS 调用PHP 文件验证 但是不知道为什么会返回个0  不知道那里出错了。JS代码:
function chkname(form){
if(form.name.value=="")
{
name1.innerHTML="<font color=#FF0000>请输入用户名!</font>";
}
else
{
var user = form.name.value;

var url = "chkname.php?user="+user; xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = function()
{

if(xmlHttp.readyState == 4)
{
var msg = xmlHttp.responseText;
if(msg == '2'){
name1.innerHTML="<font color=#FF0000>用户名被占用!</font>";
return false;
}else if(msg == '1'){
name1.innerHTML="<font color=green>恭喜您,可以注册!</font>";
form.c_name.value = "yes";

}else{
name1.innerHTML="<font color=green>"+msg+"</font>";
}
}
}
xmlHttp.send(null);
}
}PHP代码:<?php
session_start();
include_once "conn/conn.php";
$reback = '0';
$sql = "select * from tb_user where name='".$_GET['user']."'";
$rst = $conn->Execute($sql) or die('execute error');
if($rst->RecordCount() == 0)
{  $reback = '1';
}
else
{
$reback = '2';
}
echo $reback;
?>

解决方案 »

  1.   

    确定这样子有结果吗?
    将结果打出来看看。
    如果没有,那就返回的是你上面定义的$reback = '0';所以:
    1、检查你的sql语句能否正常执行;
    2、查看怎样获取数据库执行结果;
    3、将$rst->RecordCount()打出来看看其具体值,看其是数组还是具体数字,要认清其数据类型。
      

  2.   

    "php ajax 注册 源码"
    http://www.baidu.com/s?bs=php+ajax+%D7%A2%B2%E1%B5%C7%C2%BD%CD%CB%B3%F6+%D4%B4%C2%EB&f=8&rsv_bp=1&wd=php+ajax+%D7%A2%B2%E1+%D4%B4%C2%EB&inputT=190
      

  3.   

    在你的函数中并没有看到创建xmlHttp对象。也没有看到传递进来。