免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3005 | 回复: 7
打印 上一主题 下一主题

用AJAX+PHP写的检查用户是否存在,有点问题,在此请教? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-14 16:04 |只看该作者 |倒序浏览
代码如下:
index.html
----------------------------------------
<HTML>
<HEAD>
<TITLE>注册新用户</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<script language="JavaScript" type="text/javascript">

<!--

var xmlhttp;

try{
xmlhttp= new ActiveXObject('Msxm12.XMLHTTP');
}catch(e){
try{
xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp= new XMLHttpRequest();

}catch(e){}
}
}

function checkUserName(){

xmlhttp.open("get","info.php?name="+document.getElementById("username").value,false);

xmlhttp.send(null);

}

xmlhttp.onreadystatechange=function(){

if(4==xmlhttp.readyState){

if(200==xmlhttp.status){

alert(xmlhttp.responseText);

var span1=document.getElementsByTagName("span");

span1[0].innerHTML=xmlhttp.responseText;

}else
alert(xmlhttp.status);
}
}
//-->

</script>

</HEAD>

<BODY>
<span id="span1">hello,ajax!</span>
<form id="form1" name="form1">

<input type="text" name="username" id="username">

<INPUT TYPE="submit" value="验证用户名是否可用" onclick="checkUserName()">

</form>

</BODY>
</HTML>

PHP代码:
--------info.php--------------

<?php



$link = mysql_connect('localhost','root','654321');



if(!$link){

echo("数据库连接失败");

}

$username = $_GET['name'];



mysql_select_db('ajax',$link);



header("Content-type:text/html;charset=GB2312");



$ss = "select * from user where username = '$username'";



//echo $ss;



$sql= mysql_query($ss,$link);



$row = mysql_num_rows($sql);

//echo $row;



if($row)

echo "用户名已被注册";

else

echo "用户名还没有被注册";

mysql_close($link);



?>


当我单击按钮时如下的
hello,ajax!将为替为用户名已被注册或用户名还没有被注册。但总是闪一下看到。

我的意思就是单击按钮后不能将“hell,ajax" 替为服务器传回来文本。就是闪下看到又变回去了!

论坛徽章:
0
2 [报告]
发表于 2006-11-15 00:23 |只看该作者
<?php
if(!empty($_GET['u'])){
         echo $_GET['u']." 用户未被注册\n";
         echo '<script>alert("' . $_GET['u'] . '");</script>';
         exit;
}else{
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
var xmlHttp;
function creatXMLHttpRequest() {
        if(window.ActiveXObject) {
                xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        } else if(window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
        }
}
function startRequest(){
        var queryString;
        var Content = document.getElementById('UserName').value;
        var Url = "<?=$_SERVER['PHP_SELF']?>?u=" + Content;
        creatXMLHttpRequest();
        xmlHttp.open("GET",Url,"true");
        xmlHttp.onreadystatechange = handleStateChange;
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        xmlHttp.send(null);
}

function handleStateChange() {
        if(xmlHttp.readyState == 1) {
                document.getElementById('result').style.cssText = "";
                document.getElementById('result').innerText = "Please wait...";
        }
        if(xmlHttp.readyState == 4) {
                if(xmlHttp.status == 200) {
                        document.getElementById('result').style.cssText = "";
                        var allcon =  xmlHttp.responseText;
                        document.getElementById('result').innerHTML = allcon;
                }
        }
}
//-->
</SCRIPT>
<div><INPUT TYPE="text" NAME="UserName"  onblur="startRequest();"></div>
<div id='result' style='display:none'></div>
<?php
}
?>

论坛徽章:
0
3 [报告]
发表于 2006-11-15 09:13 |只看该作者
<INPUT TYPE="submit" value="验证用户名是否可用" onclick="checkUserName()">
这个是onclick,当然闪一下看到了。。。应该是这个问题

论坛徽章:
0
4 [报告]
发表于 2006-11-15 12:59 |只看该作者
我已经搞定了!!!多谢各位关注!
<INPUT TYPE="submit" value="验证用户名是否可用" onclick="checkUserName()">

改成
<INPUT TYPE="button" value="验证用户名是否可用" onclick="checkUserName()">

论坛徽章:
0
5 [报告]
发表于 2006-11-15 13:32 |只看该作者
楼主头像相当酷。

论坛徽章:
0
6 [报告]
发表于 2006-11-15 16:56 |只看该作者
原帖由 fsmhai 于 2006-11-15 12:59 发表
我已经搞定了!!!多谢各位关注!
<INPUT TYPE="submit" value="验证用户名是否可用" onclick="checkUserName()">

改成
<INPUT TYPE="button" value=&qu ...

我现在用ONCHANGE来做,好像比较实时一点,不过还是研究中。

论坛徽章:
0
7 [报告]
发表于 2006-11-15 16:58 |只看该作者
onKeyDown好一些吧

论坛徽章:
0
8 [报告]
发表于 2007-11-07 08:35 |只看该作者
运行的时候IE出了错误,提示对象不支持属性或者方法?

xmlhttp.open("
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP