页面布局
这里的布局比较简单,效果图如下
ajax功能:
当用户填写好账号切换到密码框的时候,使用ajax验证账号的可用性。检验的方法如下:首先创建XMLHTTPRequest对象,然后将需要验证的信息(用户名)发送到服务器端进行验证,最后根据服务器返回状态判断用户名是否可用。
functioncheckAccount(){ varxmlhttp; varname=document.getElementById("account").value; if(window.XMLHttpRequest) xmlhttp=newXMLHttpRequest(); else xmlhttp=newActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("GET","login.PHP?account="+name,true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4&&xmlhttp.status==200) document.getElementById("accountStatus").innerHTML=xmlhttp.responseText; }
运行结果
代码实现
index.html
<!DOCTYPEhtml> <html> <head> <Metacharset="UTF-8"> <title>Ajax登陆验证</title> <scripttype="text/javascript"> functioncheckAccount(){ varxmlhttp; varname=document.getElementById("account").value; if(window.XMLHttpRequest) xmlhttp=newXMLHttpRequest(); else xmlhttp=newActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("GET",true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4&&xmlhttp.status==200) document.getElementById("accountStatus").innerHTML=xmlhttp.responseText; } } </script> </head> <body> <divid="content"> <h2>使用Ajax实现异步登陆验证</h2> <form> 账号:<inputtype="text"id="account"autofocusrequiredonblur="checkAccount()"></input><spanid="accountStatus"></span><br><br> 密码:<inputtype="password"id="password"required></input><spanid="passwordStatus"></span><br><br> <inputtype="submit"value="登陆"></input> </form> </div> </body> </html>
login.PHP
<?PHP $con=MysqLi_connect("localhost","root","GDHL007","sysu"); if(!empty($_GET['account'])){ $sql1='select*fromloginwhereaccount="'.$_GET['account'].'"'; //数据库操作 $result1=MysqLi_query($con,$sql1); if(MysqLi_num_rows($result1)>0) echo'<fontstyle="color:#00FF00;">该用户存在</font>'; else echo'<fontstyle="color:#FF0000;">该用户不存在</font>'; MysqLi_close($con); }else echo'<fontstyle="color:#FF0000;">用户名不能为空</font>'; ?>