Php+Ajax局部刷新验证实例

2010-4-19 杜世伟 Php

     今天花费了一些时间,写了个Php+Ajax局部刷新验证实例,在此给大家共勉......

     建立一个ajax.js文件,代码如下:

   // JavaScript Document
   var xmlHttp;
   function S_xmlhttprequest()
   {
   xmlHttp=null;
  if (window.XMLHttpRequest)
   {// code for IE7, Firefox, Opera, etc.
  xmlHttp=new XMLHttpRequest();
   }
  else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   }
  
   function getName(name)
   {
   
    if(name = document.myform.name.value)
    {
       S_xmlhttprequest();
    xmlHttp.open("get","date.php?name="+name,true);
    xmlHttp.onreadystatechange = byname;
    xmlHttp.send(null);
    }
   
   }
  
   function byname()
   {
    if(xmlHttp.readyState ==1)
    {
     document.getElementById('name').innerHTML = "<font color=red>loading....</font>";
    }
    if(xmlHttp.readyState == 4)
    {
     if(xmlHttp.status == 200)
     {
      var name = xmlHttp.responseText;
      document.getElementById('name').innerHTML = name;
     }
    }
   }
    function getEmail(email)
   {
     var email = document.myform.email.value;
    if(email =="")
    {
     alert("用户名不能为空");
     document.myform.email.focus();
     return false;
    }
    else
    {
       S_xmlhttprequest();
    xmlHttp.open("get","date.php?email="+email,true);
    xmlHttp.onreadystatechange = byemail;
    xmlHttp.send(null);
    }
   
   }
    function byemail()
   {
    if(xmlHttp.readyState ==1)
    {
     document.getElementById('email').innerHTML = "<font color=red>loading....</font>";
    }
    if(xmlHttp.readyState == 4)
    {
     if(xmlHttp.status == 200)
     {
      var email = xmlHttp.responseText;
      document.getElementById('email').innerHTML = email;
     }
    }
   }

建立一个register.php文件,代码如下:

<title>注册页面</title>
<script src="Ajax.js" language="javascript">
</script>
<body>
<form action="" method="post" name="myform">
<table align="center">
<tr><td>用户名:</td><td><input type="text" name="name" value="" onblur="getName('name')"/></td><td><div id="name"><font color="#CC66CC">*用户名必填*</font></div></td></tr>
<tr><td>邮箱:</td><td><input type="text" name="email" value="" onblur="getEmail('email')"/></td><td><div id="email"><font color="#CC66CC">*邮箱必填*</font></div></td></tr>
</table>
</form>
建立一个date.php页面,用于查询数据库 :

  <?
   sleep(1);
   $connt = mysql_connect("localhost","root","123456");
   mysql_select_db('test',$connt );
   mysql_query("set names 'gb2312'");
 if($_GET['name'])
   {
    $name = $_GET['name'];
   $sql = "select * from test where name='$name'";
   $restul = mysql_query($sql);
   $array = mysql_fetch_row($restul);
  // print_r($array);
   if(is_array($array))
   {
    echo "<font color='red'>该用户名已经存在</font>";
   }
   else
   {
    echo "<font color='red'>该用户名可以用</font>";
   }
  }
  if($_GET['email'])
   {
    $name = $_GET['email'];
   $sql = "select * from test where email='$email'";
   $restul = mysql_query($sql);
   $array = mysql_fetch_row($restul);
  // print_r($array);
   if(is_array($array))
   {
    echo "<font color='red'>该邮箱已存在</font>";
   }
   else
   {
    echo "<font color='red'>该邮箱可以用</font>";
   }
  }
?>
此即可实现,注册的时候局部刷新的效果......

Powered by emlog 沪ICP备2023034538号-1