asp学生论坛bbs设计毕业论文(开题报告+源代码) 第11页
if Err Then
Err.Clear
Set Conn=Nothing
Response.Write ”数据库连接出错,请检查连接字符串。”
Response.End
End if
End Sub
Sub声明了函数ConnectionDatabase,End Sub结束这个函数。Dim声明了变量ConnStr,这个变量是用来存储连接数据库信息的。变量Db声明了数据库文件所在的路径。为ConnStr赋值是声明OLE DB连接数据库的方式,Data Source后面跟的是数据库文件所在的路径。Server.MapPath是ASP内置Server对象一个函数,用来取得网站目录下文件的绝对路径。7~12行是一个判断错误的信息,如果连接出错,Asp的Err对象判断系统给出错误的存在,然后清除。
第四章 模块的实现
4.1 用户模块
4.1.1 用户的登陆
首先看用户的登陆。在用户信息表里用户名和用户密码字段是用来验证用户身份的,用这两个字段来写验证用户登陆的程序。
登陆页面命名为Login.asp,这个页面包含了输入用户名和密码、Cookie选项、和隐身登陆选项。隐身登陆只是一个判断登陆状态的标识。主要是验证用户身份和把用户信息写入Cookie。
首先看验证用户身份的程序,如程序4-1。
程序4-1 验证用户身份程序(Login.asp)
sqlstr=" UserName='"&username&"'"
Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,
UserWidth,UserHeight,JoinDate,LastLogin,UserLogins,Lockuser,Userclass,UserGroupID,
UserGroup,userWealth,userEP,userCP,UserPower,UserBirthday,UserLastIP,UserDel,UserIsBest,
UserHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday "
Sql=Sql+" From [Dv_User] Where "&sqlstr&""
set rsUser=Mybbs.Execute(sql)
If rsUser.eof and rsUser.bof Then
ChkUserLogin=false
Exit Function
Else
iMyUserInfo=rsUser.GetString(,1, "|||", "", "")
rsUser.Close:Set rsUser = Nothing
End If
iMyUserInfo = "Mybbs|||"& Now & "|||" & Now &"|||"& Mybbs.BoardID &"|||"& iMyUserInfo
&"||||||Mybbs"
iMyUserInfo = Split(iMyUserInfo,"|||")
If trim(password)<>trim(iMyUserInfo(6)) Then
ChkUserLogin=false
ElseIf iMyUserInfo(17)=1 Then
ChkUserLogin=false
ElseIf iMyUserInfo(19)=5 Then
ChkUserLogin=false
Else
ChkUserLogin=True
Session(Mybbs.CacheName & "UserID") = iMyUserInfo
Mybbs.UserID = iMyUserInfo(4)
RegName = iMyUserInfo(5)
Article = iMyUserInfo(8)
UserLastLogin = iMyUserInfo(15)
UserClass = iMyUserInfo(18)
GroupID = iMyUserInfo(19)
TitlePic = iMyUserInfo(34)
If Article<0 Then Article=0
End If
首先是一个查询用户身份的SQL语句,输入某个用户后将从数据表User_T中查找该用户。set rsUser=Mybbs.Execute(sql)一句是用来执行这条SQL语句,同时返回一个包含了查询信息的记录集。If rsUser.eof and rsUser.bof Then一句判断用户信息是否存在。如果不为空,就将把数据集的信息写入储存用户信息的字符串中。If trim(password)<>
trim(iMyUserInfo(6)) Then一句判断用户密码是否和数据库中的用户密码相同。
Cookie是对于一些有限制注册用户才能看的页面用来识别是否登陆的。是由Web页服务器置于你硬盘上的一个很小的文本文件,一般不超过4KB。程序4-2是把用户信息写入Cookie的程序。
程序4-2 把用户信息写入Cookie(Login.asp)
select case usercookies
case "0"
Response.Cookies(Mybbs.Forum_sn)("usercookies") = usercookies
case 1
Response.Cookies(Mybbs.Forum_sn).Expires=Date+1
Response.Cookies(Mybbs.Forum_sn)("usercookies") = usercookies
case 2
Response.Cookies(Mybbs.Forum_sn).Expires=Date+31
Response.Cookies(Mybbs.Forum_sn)("usercookies") = usercookies
case 3
Response.Cookies(Mybbs.Forum_sn).Expires=Date+365
Response.Cookies(Mybbs.Forum_sn)("usercookies") = usercookies
end select
Response.Cookies(Mybbs.Forum_sn).path = Mybbs.cookiepath
Response.Cookies(Mybbs.Forum_sn)("username") = regname
Response.Cookies(Mybbs.Forum_sn)("userid") = Mybbs.UserID
Response.Cookies(Mybbs.Forum_sn)("password") = TruePassWord
Response.Cookies(Mybbs.Forum_sn)("userclass") = userclass
Response.Cookies(Mybbs.Forum_sn)("userhidden") = userhidden
Response是ASP的一个内置对象,Cookies是这个对象用来向浏览器写Cookie文件的集合。Cookies集合设置Cookie的值。若指定的Cookie不存在,则创建它,若存在。则设置新的值并且将旧值删除。Response.Cookies(Mybbs.Forum_sn).Expires=Date+1是用来保存用户选择的Cookie保存时间的,在选择时间内再次来论坛则可以不用再登陆了。
4.1.2 用户的注册
用户注册也关系到信息的验证,必须确定一些信息符合一定的规则和要求。用户注册后可以修改自己的信息和密码,如果忘记密码还有相关取回密码的操作。
首先就是用户的注册,命名为reg.asp,主要是对用户所填写信息的检测。主要包括字段是否为空,是不是满足长度、字符方面的要求;输入E-mail是否正确,主要判别是@字符是否存在和存在的位置;两次输入的密码是否一致;用户名是否已经存在,电子邮件是否被使用。
注册首先是要向数据库提交你所填写的信息,这些所填写的信息大多是表单的形式,可以使用Request.form()来获取表单内的文本框。Request是ASP的内置对象,Form是Request的一个获得表单的集合。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] 下一页