weixin_33737134 2012-05-07 12:18 采纳率: 0%
浏览 23

Ajax检查用户名是否存在

I am having trouble to get my code working. As a user types in a username it checks the database to see if it exists and if it does sets the <P id="checkusername"> to "Username Taken." and if not sets it to "Not Taken." I can't see why my code is not working.

1-register.html

<html>
  <body>
    <CENTER>
      <form name="register" action="register.php" method="post">
        Username: <input type="text" name="username" onkeyup="checkUsername(this.value)" />
        <P id="checkusername">checker</P> 
        <input type="submit" value="Login" />      
      </form>
    </CENTER>

    <script type="text/javascript">
      function checkUsername(){
        var xmlhttp;
        var username=document.forms["register"]["username"].value;
        if(username.length==0){
          document.getElementById("checkusername").innerHTML="Empty";
          return;
        }
        if(window.XMLHttpRequest){
          xmlhttp=new XMLHttpRequest();
        }else{
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        var url = "login.php";
        var params = "header=checkusername&username="+username+"&password="";
        xmlhttp.open("POST", url, true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.setRequestHeader("Content-length", params.length);
        xmlhttp.setRequestHeader("Connection", "close");

        xmlhttp.onreadystatechange = function() {//Call a function when the state changes.
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
          document.getElementById("checkusername").innerHTML=xmlhttp.responseText;
    }
      }
      xmlhttp.send(params);
    }
    </script>
  </body>
</html>

2-register.php

<?php
  $header = $_POST["header"];
  if(header=="checkusername"){
    checkusername($_POST["username"]);
  }else{
    echo "No match: " . $header;
  }

  function connection(){
    $con = mysql_connect(URL, username, password);
    if(!$con){
      die('Could not connect: ' . mysql_error());
    }
    return $con;
  }
  function checkusername($username){
    $con = connection();
    mysql_select_db(database, $con);
    $result = mysql_query("SELECT * FROM users WHERE username = \"" . $username . "\";");
    while($row = mysql_fetch_array($result)){
      if(($row['username'] == $username)){
        echo "Username Taken.<br/>";
        return;
      }
    }
    echo "Not Taken.";
  }
  mysql_close();
?>
  • 写回答

1条回答 默认 最新

  • weixin_33743880 2012-05-07 12:39
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器