ajax 检测用户名

栋栋 2011-08-10 03:52:56
<script language="javascript">
function chkUsername(account){

if(account == ""){
alert('请输入用户名'); //判断用户是否为空
}else{
var xmlObj;
if(window.ActiveXobject){ //定义XMLHttpRequest对象
xmlObj = new ActiveXObject("Microsoft.XMLHTTP"); //如果浏览器支持ActiveXobjext则创建ActiveXObject对象
}else if(window.XMLHttpRequest){ //如果浏览器支持XMLHttpRequest对象则创建XMLHttpRequest对象
xmlObj = new XMLHttpRequest();
}
xmlObj.onreadystatechange = callBackFun; //指定回调函数
xmlObj.open('GET','register.php?account ='+account,true);//试用get方法调用chk.php并传递account值
xmlObj.send(null);
function callBackFun(){
if(xmlObj.readyState == 4 && xmlObj.status == 200){ //如果服务器已经传回信息并未发生错误
if(xmlObj.responseTest == 'y'){ //如果服务器传回的内容为y,则表示用户名已经被占用
alert('该用户名已被他人使用!');
}else{ //不为y,则表明用户未被占用
alert('恭喜,该用户未被使用');
}
}
}
}
}
</script>

<?php
$sql = mysql_query("select id,account from kw_user where account = '".trim($_GET['account'])."'");
$result = mysql_fetch_array($sql);
if($result){
echo 'y';
}else{
echo 'n';
}
?>

<form name="registerForm" action="../chk.php" method="post" >
<li>
<input type="text" name="account" id="account" value="" />
<input type="button" value="检测用户名" onclick="chkUsername(registerForm.account.value)"/>
</li>
</form>

大家给我看看这个代码 为什么我执行就是不显示 alert('该用户名已被他人使用!'); 也不知道代码哪里有问题 请各位帮忙看看
...全文
245 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
一起混吧 2011-08-11
  • 打赏
  • 举报
回复
你这个问题还没搞定吗? 你说数据库读不出来。去检查数据库是否连接成功了呢? 逻辑就是那样的。你只要细心检查你的代码就没问题了。
栋栋 2011-08-11
  • 打赏
  • 举报
回复
怎么会没有 我只是没发!

require_once 'inc/conf/config.php';
这个就是
栋栋 2011-08-11
  • 打赏
  • 举报
回复
昨天 搞定了!!
xsxs89757 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 jordan102 的回复:]

你php端连接数据库的代码都没有?
[/Quote]
确实啊 这么多人没发现
一起混吧 2011-08-10
  • 打赏
  • 举报
回复
你php端连接数据库的代码都没有?
liangphp 2011-08-10
  • 打赏
  • 举报
回复
你在php页输出account有值??
xsxs89757 2011-08-10
  • 打赏
  • 举报
回复
或者输出一下sql语句 看看接收的对吗
xsxs89757 2011-08-10
  • 打赏
  • 举报
回复
php 页面 echo $_GET['account']; 看看是什么 接收到了吗
栋栋 2011-08-10
  • 打赏
  • 举报
回复
关键是数据库数据读取不出来啊
一起混吧 2011-08-10
  • 打赏
  • 举报
回复
那弹出n不就行了。
栋栋 2011-08-10
  • 打赏
  • 举报
回复
弹出'n'了
一起混吧 2011-08-10
  • 打赏
  • 举报
回复
sql语句没错。 我叫你把alert(xmlObj.responseText); 放在if(xmlObj.readyState == 4 && xmlObj.status == 200){ 下面,你试试看。弹出y或n,能弹出来吗?
栋栋 2011-08-10
  • 打赏
  • 举报
回复
目前是 chk页面
栋栋 2011-08-10
  • 打赏
  • 举报
回复
蹦出个来自网页的消息,执行了这个 alert('恭喜,该用户未被使用'); 你看看我SQL写的对吗
LiveAsaMonster 2011-08-10
  • 打赏
  • 举报
回复
xmlObj.open('GET','register.php?account ='+account,true);//试用get方法调用chk.php并传递account值

你的php页面到底是哪个?register.php or chk.php?
一起混吧 2011-08-10
  • 打赏
  • 举报
回复
在这行if(xmlObj.readyState == 4 && xmlObj.status == 200){ 下面加上
alert(xmlObj.responseText);

看能取到服务器返回的数据吗?
栋栋 2011-08-10
  • 打赏
  • 举报
回复
我试过能取到值 还是不行!!
一起混吧 2011-08-10
  • 打赏
  • 举报
回复
1:在chkUsername(account)函数中alert(account);看能去到值嘛?
2:php端,检查是否存在,用mysql_num_rows()
改为:
$sql = mysql_query("select id,account from kw_user where account = '".trim($_GET['account'])."'");
//$result = mysql_fetch_array($sql);
$result=mysql_num_rows($sql);
if($result>0){
echo 'y';
}else{
echo 'n';
}
栋栋 2011-08-10
  • 打赏
  • 举报
回复
没结果!!!烦死了啊啊啊啊啊
rczjp 2011-08-10
  • 打赏
  • 举报
回复
alert(xmlObj.responseText)看是什么结果?
加载更多回复(3)

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧