我写的代码吗?就是一个注册页面 一个ajax.js 一个检查用户名是否存在的ckuser.php页面

解决方案 »

  1.   

    reg.php
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="css/css.css" rel="stylesheet" type="text/css">
    <title>用户注册</title>
    </head><body>
    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" src="js/ajaxlist.js"></script><script>
    function check(){
    checkUserName_1('username','16','unamespan')

    }
    </script>
    <table align="center">
         <tr>
             <td width="61" height="100">&nbsp;</td>
            </tr>
         <tr>
             <td>用户名:</td>
                <td width="254"><input onblur="checkUserName_1('username','16','unamespan')" onfocus="onFouces('unamespan')" name=username keytype2="uname" class="input_txt" keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td>
                <td width="426"><span class=gray id=unamespan>3-16个字符</span></td>
            </tr>
            <tr>
             <td>密&nbsp;码:</td>
                <td width="254"><input onblur="checkpw_1('password','6','upw')" onfocus="onFocus('upw')" class="input_txt" type=password keytype2="pw" name=password keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td>
                <td width="426"><span class=gray id=upw>6-16个字符</span></td>
            </tr>
             <tr>
             <td>确认密码:</td>
                <td width="254"><input onblur="checkSame_1('password','passsAgain','urpw')" onfocus="onFocus('urpw')" class="input_txt" type=password keytype2="rpw" name=passAgain keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td>
                <td width="426"><span class=gray id=urpw>再次输入密码</span></td>
            </tr>
            
        </table>
    </body>
    </html>
      

  2.   

    ajaxlist.js
    var username_help='3-16个字符(a-z,0-9,_)'; 
    var username_ok='<img src=img/OK.png align=absbottom>用户名可以使用'; 
    var username_error='<img src=img/NO.png align=absbottom> 用户名超过了16个字符!'; 
    var username_error_1='<img src=img/NO.png align=absbottom> 您的用户名输入格式不正确!'; 
    var username_exist='<img src=img/NO.png align=absbottom> 您填写的用户名已经存在!'; 
    var username_null='<img src=img/NO.png align=absbottom> 用户名长度最少3位!'; 
    function getHTTPObject(){
    var xmlhttp = false; 
    if(window.XMLHttpRequest){ 
    xmlhttp = new XMLHttpRequest(); 
    if(xmlhttp.overrideMimeType){ 
    xmlhttp.overrideMimeType('text/xml'); 

    }else{
    try{ 
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch(e){ 
    try{ 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    }catch(E){ xmlhttp = false; } 


    return xmlhttp; 
    } var http = getHTTPObject(); function getAbsLeft(e){ 
    var l=e.offsetLeft; 
    while(e=e.offsetParent) l += e.offsetLeft; 
    return l; 

    function getAbsTop(e) { 
    var t=e.offsetTop; 
    while(e=e.offsetParent) t += e.offsetTop; 
    t=t+18; 
    return t; 
    } //...............................................................
    function onFouces(str){
    document.getElementById(str).className='word_help';
    if(str=='unamespan'){
    document.getElementById(str).innerHTML=username_help;
    }
    }function backState(str){
    if(str=='uname'){
    document.getElementById('username').keytype=0;
    document.getElementById('unamespan').className='gray';
    document.getElementById('unamespan').innerHTML=username_ok;
    }
    }
    function checkUserName_1(obj_str,num,obj_strl){
    var obj=document.getElementById(obj_str);
    var obj_help=document.getElementById(obj_strl);
    obj.keytype=0;
    if(obj.value.length<3){
    obj.keytype=1;
    obj_help.innerHTML=username_null;
    obj_help.className=word_error;
    return false;
    }
    if(obj.value.length>num){
    obj.keytype=1;
    obj_help.innerHTML=username_error;
    obj_help.className=word_error;
    return false;
    }

    //检查是否有不符合规定的字符 
    var name_str=obj.value; 
    //name_str=name_str.replace(/[\u4e00-\u9fa5]/g,''); 
    name_str=name_str.replace(/[a-zA-Z0-9_]/g,''); 
    name_str=name_str.replace(/-/g,''); 
    if(name_str!=''){ 
    obj.keytype=1; 
    obj_help.innerHTML=username_error_1; 
    obj_help.className=word_error; 
    return false; 


    //检测用户名是否存在
    var username = document.getElementById('username').value;
    url = "checkuserreg.php?username="+username;
    http.open("GET",url,true);
    http.onreadystatechange = handleHttpResponseForUserName_1;
    http.send(null);

    if(obj.keytype==0){ 
    backState("uname"); 

    }function handleHttpResponseForUserName_1(){ 
    if(http.readyState == 4){ 
    if (http.status == 200) { 
    returnStr=Trim(http.responseText);  
    if(returnStr=="1"){ 
    var obj_1=document.getElementById("unamespan"); 
    obj_1.innerHTML=username_exist; 
    document.getElementById("username").keytype=1; 
    obj_1.className=word_error; 
    return false; 




    function Trim(str) { 
    return RTrim(LTrim(str)); 

    function LTrim(str) { 
    return str.replace(/^[ \t\n\r]+/g, ""); 
    } function RTrim(str) { 
    return str.replace(/[ \t\n\r]+$/g, ""); 

      

  3.   

    <?php
    header('ontent-Type:text/html;charset=GB2312');//避免输出乱码
    $dbhost     ="localhost";
    $dbuser     ="root";
    $dbpassword = "root";
    mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");
    mysql_query("set names 'gbk'");
    mysql_select_db('db_text');$username=trim($_GET['username']);//获取注册名
    $sql="select username from tb_user where username='".$username."'";//查询会员名
    $result=mysql_query($sql);
    $num=mysql_num_rows($result);
    $rows=mysql_fetch_array($result);
    if($num<>0){
              echo "1";
    }
    else{
              echo "0";
    }
    mysql_close();//关闭数据库连接
    ?>
      

  4.   

    你的username input 框没有id值,能运行成功吗?if(obj.value.length<3){
            obj.keytype=1;
            obj_help.innerHTML=username_null;
            obj_help.className=word_error;
            obj.focus();    //加上这句,下面的验证类似。
            return false;
        }
      

  5.   

    function handleHttpResponseForUserName_1(){ 
        if(http.readyState == 4){ 
            if (http.status == 200) { 
            returnStr=Trim(http.responseText);  
                if(returnStr=="1"){ 
                    var obj_1=document.getElementById("unamespan"); 
                    obj_1.innerHTML=username_exist; 
                    document.getElementById("username").keytype=1; 
                    obj_1.className=word_error; 
                    return false; 
                } else {
                   document.getElementById("username").focus(); // 加上这个
                }
            } 
        } 
    }
      

  6.   

    噢,你是不合法(用户已存在)时返回 1
    function handleHttpResponseForUserName_1(){ 
        if(http.readyState == 4){ 
            if (http.status == 200) { 
            returnStr=Trim(http.responseText);  
                if(returnStr=="1"){ 
                    var obj_1=document.getElementById("unamespan"); 
                    obj_1.innerHTML=username_exist; 
                    document.getElementById("username").keytype=1; 
                    obj_1.className=word_error; 
                   document.getElementById("username").focus(); // 加上这个
                    return false; 
                }
            } 
        } 
    }
      

  7.   

    在 returnStr=Trim(http.responseText); 后面加上
    alert(returnStr + ':' + returnStr.length);
    看看有什么
      

  8.   

    突然发现你有用 jquery
    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>那么还要自己写那些做什么?
    建议你改写成直接用 jquery 的,简单的例子<script>
    $(function() {
      $('#username').blur(function() {
        $.post('check.php', {username:$(this).val()}, function(m) {
          $('#unamespan').html(m == 1 ? '不可用' : '可用');
          if(m == 1) $('#username').focus();
        });
      });
    });
    </script>
    数字打头不可用,字母打头可用<br>
    用户名:<input name=username id=username class="input_txt"style="height:22px; width:222px" />
    <span class=gray id=unamespan>3-16个字符</span><br>
    check.php<?php
    echo is_numeric($_POST['username']{0}) ? 1 : 0;
    是不是很简单呢?