用ajax技术编写login登陆界面
来源:互联网 发布:mac室内三维建模软件 编辑:程序博客网 时间:2024/06/05 03:46
</pre></div> 一开始跟老师学习,老师就要求写一个login界面,当时暗地里一想这也太简单了吧!但当老师一说要用到什么技术..... 。我一下子就惊呆了,原来小小的登陆界面也需要有这么多的技术去支持。</h1><div> <span style="font-size:24px">从易到难,我决定先不做很花俏的界面,先做的有技术了,目标两点:1.图片点击事件触发提交;2.在登陆界面上进行异步检测;3.数据库账户密码验证。</span></div><div><span style="font-size:24px"></span></div><div><span style="font-size:24px">先上登陆界面的代码</span></div><div><span style="font-size:24px"></span><pre name="code" class="css" style="font-size: 24px; font-weight: bold;">div.login{border: 1px solid #a0b1c4 ;height:429px;width:300px;position: absolute;left:1200px;top: 150px; }
login.php文件<span style="font-size:24px;"></pre><pre name="code" class="php"><span style="font-size:24px;"><!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 rel="stylesheet" href="/loginProject/css/div.css" type="text/css" /><script src="/loginProject/js/ClickME.js"></script><title>登陆界面</title></head><body style=" text-align:center"> <h1>登陆界面</h1> <div class="login" > <form action="#" method="post" name="myform" id="myform"> <p> 用户名:<input type="text" name="user" id="user" maxlength="20" /></p> <p> 密 码:<input type="password" name="pwd" id="pwd" maxlength="20" /> </p> <p> <div id="serverResponse"></div> </p> <img id="login" src="/loginProject/pictrue/login.png" onclick="ClickME()" /> <!--/a --> </form> </div> </body></html></span></span>
.css文件div.login{border: 1px solid #a0b1c4 ;height:429px;width:300px;position: absolute;left:1200px;top: 150px;}
其中一些html元素,采用了css文件作为外部样式,所以需要在<head></head>之间插入.css文件的路径方便随页面加载时一起加载。 onclick 是Javascript中点击事件,一旦指定的元素被点击,则会触发在外部文件中ClickME.js中定义的ClickME()函数
var xmlHttp; //在js文件中定义了一个全局对象变量function CreateXMLHttpRequest() //在ajax时我们需要一个异步的对象来帮我们完成发送请求,数据,反馈的回传等工作。
{ //由于不同的服务采用的对象不同,所以我们需要进行判别当前的浏览器 是支持那种异步请求对象 if (window.XMLHttpRequest) //最终我们把支持的异步对象赋给xmlHttp这一全局变量。方便我们进行操作 { xmlHttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } }function createQueryString()//这个函数主要起到的作用是获取登陆界面提交的账户密码,并且以特定传送 格式发送出去{ var user= document.getElementById("user").value; var pwd= document.getElementById("pwd").value; var queryString="user="+user+"&pwd="+pwd; //这是发送值的格式要求 "名=值" 相邻元素用"&"隔开。 return queryString;}function doRequestUsingPost(){ CreateXMLHttpRequest(); var url="/loginProject/php/check.php";//声明服务器的地址 var queryString=createQueryString(); //生成要传送的数据,即账号密码。 xmlHttp.open("POST",url,true); //开始异步,此时readystate为1 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");//设置请求头,照 //抄就行 xmlHttp.send(queryString); //开始发送请求 xmlHttp.onreadystatechange=handleStateChange;//设置句柄,通过回调函数来接收服务器的反馈。 } function handleStateChange() //回调函数,等待服务器的响应{ if(xmlHttp.readyState==4) //readystate==4时,代表已经接收到来至服务器的信息。 { var responseDiv= document.getElementById("serverResponse"); if(responseDiv.hasChildNodes()) { responseDiv.removeChild(responseDiv.childNodes[0]); } var responseText=document.createTextNode(xmlHttp.responseText); responseDiv.appendChild(responseText); //将服务器的响应赋给页面元素 serverResponse
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">}}function ClickME(){ var user= document.getElementById("user").value; //通过js获取页面元素的值var pwd= document.getElementById("pwd").value;if(user==""||pwd=="") //初步检测账号密码是否为空,没有进行更加严谨的格式检测{ alert("用户名与密码不能为空!")//如为空则弹出一个窗口提醒 }else //要是都不为空则开始将账号密码异步发送到指定服务器上进行相应的验证。 { doRequestUsingPost(); //调用发送请求函数,由于要不换页面异步处理,所采用原始的方法</span>
} //采用用ajax技术}
服务器响应代码:check.php<?php header('Content-type:text/html;charset=utf-8'); $mark=0; $user=$_REQUEST['user']; $pwd=$_REQUEST['pwd']; //通过<span style="font-family: Arial, Helvetica, sans-serif;">$_REQUEST获取传送到服务器上的账号 // 密码</span> $mysql_server_name='localhost'; $mysql_username='root'; $mysql_password='你的mysql密码'; $mysql_database='数据库名'; $mysqli=new mysqli($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);//连接数据库。 if (!$mysqli) { die('Could not connect: ' . mysqli_connect_error()); } $sql= "select * from user"; $result = $mysqli->query($sql); //查询数据 while($row = $result->fetch_array()) //进行遍历 { if($user==$row[1] && $pwd==$row[2] ) { $mark=1; break; } } if($mark==1) echo "匹配成功!"; else echo $user."用户不存在!"; ?>
</pre></div> 一开始跟老师学习,老师就要求写一个login界面,当时暗地里一想这也太简单了吧!但当老师一说要用到什么技术..... 。我一下子就惊呆了,原来小小的登陆界面也需要有这么多的技术去支持。</h1><div> <span style="font-size:24px">从易到难,我决定先不做很花俏的界面,先做的有技术了,目标两点:1.图片点击事件触发提交;2.在登陆界面上进行异步检测;3.数据库账户密码验证。</span></div><div><span style="font-size:24px"></span></div><div><span style="font-size:24px">先上登陆界面的代码</span></div><div><span style="font-size:24px"></span><pre name="code" class="css" style="font-size: 24px; font-weight: bold;">div.login{border: 1px solid #a0b1c4 ;height:429px;width:300px;position: absolute;left:1200px;top: 150px; }
<span style="font-size:24px;"></pre><pre name="code" class="php"><span style="font-size:24px;"><!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 rel="stylesheet" href="/loginProject/css/div.css" type="text/css" /><script src="/loginProject/js/ClickME.js"></script><title>登陆界面</title></head><body style=" text-align:center"> <h1>登陆界面</h1> <div class="login" > <form action="#" method="post" name="myform" id="myform"> <p> 用户名:<input type="text" name="user" id="user" maxlength="20" /></p> <p> 密 码:<input type="password" name="pwd" id="pwd" maxlength="20" /> </p> <p> <div id="serverResponse"></div> </p> <img id="login" src="/loginProject/pictrue/login.png" onclick="ClickME()" /> <!--/a --> </form> </div> </body></html></span></span>
.css文件
div.login{border: 1px solid #a0b1c4 ;height:429px;width:300px;position: absolute;left:1200px;top: 150px;}
var xmlHttp; //在js文件中定义了一个全局对象变量function CreateXMLHttpRequest() //在ajax时我们需要一个异步的对象来帮我们完成发送请求,数据,反馈的回传等工作。
{ //由于不同的服务采用的对象不同,所以我们需要进行判别当前的浏览器 是支持那种异步请求对象 if (window.XMLHttpRequest) //最终我们把支持的异步对象赋给xmlHttp这一全局变量。方便我们进行操作 { xmlHttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } }function createQueryString()//这个函数主要起到的作用是获取登陆界面提交的账户密码,并且以特定传送 格式发送出去{ var user= document.getElementById("user").value; var pwd= document.getElementById("pwd").value; var queryString="user="+user+"&pwd="+pwd; //这是发送值的格式要求 "名=值" 相邻元素用"&"隔开。 return queryString;}function doRequestUsingPost(){ CreateXMLHttpRequest(); var url="/loginProject/php/check.php";//声明服务器的地址 var queryString=createQueryString(); //生成要传送的数据,即账号密码。 xmlHttp.open("POST",url,true); //开始异步,此时readystate为1 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");//设置请求头,照 //抄就行 xmlHttp.send(queryString); //开始发送请求 xmlHttp.onreadystatechange=handleStateChange;//设置句柄,通过回调函数来接收服务器的反馈。 } function handleStateChange() //回调函数,等待服务器的响应{ if(xmlHttp.readyState==4) //readystate==4时,代表已经接收到来至服务器的信息。 { var responseDiv= document.getElementById("serverResponse"); if(responseDiv.hasChildNodes()) { responseDiv.removeChild(responseDiv.childNodes[0]); } var responseText=document.createTextNode(xmlHttp.responseText); responseDiv.appendChild(responseText); //将服务器的响应赋给页面元素 serverResponse
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">}}function ClickME(){ var user= document.getElementById("user").value; //通过js获取页面元素的值var pwd= document.getElementById("pwd").value;if(user==""||pwd=="") //初步检测账号密码是否为空,没有进行更加严谨的格式检测{ alert("用户名与密码不能为空!")//如为空则弹出一个窗口提醒 }else //要是都不为空则开始将账号密码异步发送到指定服务器上进行相应的验证。 { doRequestUsingPost(); //调用发送请求函数,由于要不换页面异步处理,所采用原始的方法</span>
} //采用用ajax技术}
<?php header('Content-type:text/html;charset=utf-8'); $mark=0; $user=$_REQUEST['user']; $pwd=$_REQUEST['pwd']; //通过<span style="font-family: Arial, Helvetica, sans-serif;">$_REQUEST获取传送到服务器上的账号 // 密码</span> $mysql_server_name='localhost'; $mysql_username='root'; $mysql_password='你的mysql密码'; $mysql_database='数据库名'; $mysqli=new mysqli($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);//连接数据库。 if (!$mysqli) { die('Could not connect: ' . mysqli_connect_error()); } $sql= "select * from user"; $result = $mysqli->query($sql); //查询数据 while($row = $result->fetch_array()) //进行遍历 { if($user==$row[1] && $pwd==$row[2] ) { $mark=1; break; } } if($mark==1) echo "匹配成功!"; else echo $user."用户不存在!"; ?>
1 0
- 用ajax技术编写login登陆界面
- Jquery+Pdo编写login登陆界面
- 登陆界面模拟02-login页面
- html编写邮箱登陆界面
- Login 登陆
- login 登陆
- 用户登陆界面Login.aspx引发的发布错误
- 设置SAP 登陆界面文本 set login screen
- 一个简单大气的登陆(login)界面源码介绍学习
- 有验证码的登陆界面(ajax,ashx技术制作)
- 有验证码的登陆界面(ajax,ashx技术制作)
- 登陆界面验证码的编写
- QT中登陆界面的编写
- linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面
- 【技术应用】用QT编写的视频监控界面
- Tab页界面,用jQuery及Ajax技术实现
- Tab页界面,用jQuery及Ajax技术实现
- struts2 login登陆
- java(19)--数据库事务隔离级别
- iOS面试题
- java自学(第一周)
- [leetcode] 243. Shortest Word Distance 解题报告
- Eclipse中修改SVN用户名和密码方法
- 用ajax技术编写login登陆界面
- 微信WeixinJSBridge API
- java多线程问题总结
- Q_PROPERTY()宏
- 欢迎使用CSDN-markdown编辑器
- spring 定时任务的 执行时间设置规则
- Redis与Memcached的区别
- android开机动画bootanimation
- c++基础--函数匹配