asp入门之登录示例-飞外

b/s架构的程序,无论是网站还是应用软件都离不开登录功能,下面一个简单的示例,一个简单网站的后台登录。

界面:

html代码:

代码 html
head
title 后台登录 /title
metahttp-equiv="Content-Type"content="text/html;charset=gb2312"
linkhref="css/style.css"rel="stylesheet"
/head
body
div
formmethod="post"action="login/login.asp"
tablewidth="220"border="0"cellspacing="0"cellpadding="0"
tr
tdheight="40"colspan="2"
后台登录
/td
/tr
tr
tdheight="25"
用户名:
/td
td
inputsize="15"
/td
/tr
tr
tdheight="25"
密 nbsp; nbsp; nbsp;码:
/td
td
inputsize="15"
/td
/tr
tr
tdheight="25"
验证码: /td
td
inputsize="6"/ imgsrc='gif.asp'align='absmiddle'border='0'
height="18"/
/td
/tr
tr
tdheight="40"colspan="2"
input
input
/td
/tr
/table
/form
/div
/body
/html

其中 linkhref="css/style.css"rel="stylesheet"
是样式文件,可以删除。

这是验证码的引用: inputsize="6"/ imgsrc='gif.asp'align='absmiddle'border='0'height="18"/ 在上一篇中有详细说明。

页面提交后的处理代码,在login/login.asp文件中,如下:

代码 !--#includefile="../conn_login.asp"--
%
dimrs,sqlStr
dimnameStr,passStr,yzmStr

nameStr=Request.Form("name")
passStr=Request.Form("pass")
yzmStr=Request.Form("yzm")


IfTrim(yzmStr)=EmptyOrTrim(Session("getYzm")) Trim(yzmStr)Then
response.write(" scriptlanguage=javascript alert('验证码错误,请重新输入!');history.back() /script ")
response.end
endif

setrs=server.CreateObject("adodb.recordset")
sqlStr="select*fromloginwherename='" nameStr "'"
rs.OpensqlStr,conn,1,1

ifnotrs.eofthen
ifpassStr=rs("pass")then
session("login")=empty

session("login")=nameStr
response.redirect"../mainFrame.htm"
else
Response.Write" scriptlanguage=javascript alert('用户名或密码错误!');history.back() /script "
Response.End
endif
else
Response.Write" scriptlanguage=javascript alert('用户名或密码错误!');history.back() /script "
Response.End
endif
%

其中 !--#includefile="../conn_login.asp"-- 引用conn_login.asp文件,其中代码是定义数据库操作的几个变量和对象,如下:

代码 %
onErrorResumeNext

dimconn,connstr
Setconn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" Server.MapPath("http://www.cnblogs.com/d/d.mdb")
conn.Openconnstr
%

d.mdb是数据库文件,数据库结构如下如: