b/s架构的程序,无论是网站还是应用软件都离不开登录功能,下面一个简单的示例,一个简单网站的后台登录。
界面:
html代码:
代码
<html>
<head>
<title>后台登录</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/style.css" type="text/css" rel="stylesheet">
</head>
<body>
<div style="text-align: center">
<form name="formLogin" method="post" action="login/login.asp">
<table width="220" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="40" colspan="2" align="center">
后台登录
</td>
</tr>
<tr>
<td height="25" align="right">
用户名:
</td>
<td align="left">
<input name="name" type="text" size="15">
</td>
</tr>
<tr>
<td height="25" align="right">
密 码:
</td>
<td align="left">
<input name="pass" type="password" size="15">
</td>
</tr>
<tr>
<td height="25" align="right">
验证码: </td>
<td align="left">
<input name="yzm" type="text" size="6" /><img src='gif.asp' align='absmiddle' border='0'
height="18" />
</td>
</tr>
<tr>
<td height="40" colspan="2" align="center">
<input type="submit" name="Submit" value="确 定">
<input type="reset" name="Submit2" value="取 消">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
其中<link href="css/style.css" type="text/css" rel="stylesheet">
是样式文件,可以删除。
这是验证码的引用:<input name="yzm" type="text" size="6" /><img src='gif.asp' align='absmiddle' border='0' height="18" />在上一篇中有详细说明。
页面提交后的处理代码,在login/login.asp文件中,如下:
代码
<!--#include file="../conn_login.asp"-->
<%
dim rs,sqlStr
dim nameStr,passStr,yzmStr
nameStr=Request.Form("name")
passStr=Request.Form("pass")
yzmStr=Request.Form("yzm")
If Trim(yzmStr)=Empty Or Trim(Session("getYzm"))<>Trim(yzmStr) Then
response.write("<script language=javascript>alert('验证码错误,请重新输入!');history.back()</script>")
response.end
end if
set rs=server.CreateObject("adodb.recordset")
sqlStr="select * from login where name='"&nameStr&"'"
rs.Open sqlStr,conn,1,1
if not rs.eof then
if passStr=rs("pass") then
session("login")=empty
session("login")=nameStr
response.redirect"../mainFrame.htm"
else
Response.Write "<script language=javascript>alert('用户名或密码错误!');history.back()</script>"
Response.End
end if
else
Response.Write "<script language=javascript>alert('用户名或密码错误!');history.back()</script>"
Response.End
end if
%>
其中<!--#include file="../conn_login.asp"-->引用conn_login.asp文件,其中代码是定义数据库操作的几个变量和对象,如下:
代码
<%
on Error Resume Next
dim conn,connstr
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("http://www.cnblogs.com/d/d.mdb")
conn.Open connstr
%>
d.mdb是数据库文件,数据库结构如下如: