asp学生论坛bbs设计毕业论文(开题报告+源代码) 第12页
(1) 用户名的验证:在获取的同时就可以对文件长度等进行检测,使用Cint()函数进行强制执行整数运算判断是否在可接受的范围之内。
Cint(Mybbs.Forum_Setting(41)) or strLength(Request.form("name"))
<Cint(Mybbs.Forum_Setting(40))
使用InStr函数来判断是否存在非法的字符。
If Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or
Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or Instr(username,",")>0
or Instr(username,"'")>0 or Instr(username,",")>0 or Instr(username,chr(34))>0 or
Instr(username,chr(9))>0 or Instr(username,"")>0 or Instr(username,"$")>0
(2) 密码的验证:主要验证的是密码的长度,采用Len()函数,可以返回字符串中字符的个数。参数可以是字符串也可以是变量名。
If Request.form("psw")="" or len(Request.form("psw"))>10 or len(Request.form("psw"))<6 Then
ErrCodes=ErrCodes+"<li>"+template.Strings(13)
(3) 电子邮件的验证:邮件的地址一般是“用户名@域名”,采用VBScript的函数Split(),可以返回一个一文数组。在参数部分可以设置“@”为字符串的标识界限。用这个符号来拆分电子邮件地址,形成数组。UBound()函数返回了数组文数的最大可用下标。
Dim names,name,i,c
Is ValidEmail=true
Names=Split(email,”@”)
If UBound(names)<>1 then
Is VailEmail=false
Exit function
End If
而用户的注册信息如果是合法的则在提交注册信息后要将这个注册信息插入到数据库中去,可以使用Recordset对象。
set rs=Server.CreateObject(“ADODB.Recordset”)
sql=”select * from [User_T]
rs.open sql,conn,2,3
rs.addnew
rs(“Username”)=username
rs(“Userpassword”)=password
rs(“UserEmail”)=useremail
rs(“Userclass”)=userclass
rs(“TitlePic”)=titlepic
rs.update
rs.close
set rs=nothing
但光有Recordset对象没有Connection对象也没有用,Connection对象已经写入了连接数据库的函数Conn.asp。
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
set rs=server.createobject("adodb.recordset")
sql="select * from [User_T] where username=’”&username&”’
rs.open sql,conn,1,3
在上面程序里,conn对象的功能是连接数据库,rs的功能是打开数据表User_T。而Connection对象的功能是连接数据库,连接程序如下:
Sub ConnectionDatabase
Dim ConnStr
Db = "data/mybbs7.mdb"
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)一句分别设置了Provide参数和Data Source参数。
用户注册后要修改自己的信息。修改信息就是将原来用户的信息显示出来,待用户修改提交表单后更新数据库中的信息,这里同样要对用户新输入的信息进行检测,这个和用户注册部分的检测是一样的,只是没有了对用户名的检测。所以用户信息的修改的程序与用户注册是很相似的,只少了rs.addnew一句,另外在选取信息的时候的语句有所不同。
sql=”Select * from [User_T]” where userid=”& UserID
通过这一句可以准确的定位到用户的编号UserID的这条记录,这是利用了Recordset对象的查询功能,然后使用Recordset对象的写入功能,用rs.Update结束。
虽然用户的用户名不可以更改,但是用户的密码是可以更改的,这是用户身份验证的标识,同时也可以更改自己的密码提问和密码答案。这些更改也基本上和用户信息修改的程序相同,利用用户的编号取出用户的信息,验证用户的修改信息后更新数据库。
但是如果用户是忘记了密码而要取回,则就要调用到另外的一套程序。见程序4-3。
程序4-3 获得用户密码程序(Lostpass.asp)
If request.Form("username")="" Then
showerr template.Strings(6)
Exit Sub
Else
username=replace(request("username"),"'","")
End If
If Mybbs.Forum_Setting(2)<>"0" Then
Set Rs=Mybbs.execute("Select UserQuesion,userAnswer,Username,Usergroupid from [Dv_user] where username='"&username&"'")
Else
Set Rs=Mybbs.execute("Select UserQuesion,userAnswer,Username,Usergroupid from [Dv_user] where username='"&username&"' and UserGroupID>3")
End If
If rs.eof and rs.bof then
showerr template.Strings(8)
Exit Sub
ElseIf rs(3) < 4 then
showerr template.Strings(7)
Exit Sub
Else
If rs(0)="" or isnull(rs(0)) Then
showerr template.Strings(9)
Exit Sub
Else
template.html(6)=Replace(template.html(6),"{$Quesion}",Rs(0))
template.html(6)=Replace(template.html(6),"{$username}",username)
If Mybbs.forum_setting(81)="0" Then
template.html(6)=Replace(template.html(6),"{$getcode}","")
Else
template.html(6)=Replace(template.html(6),"{$getcode}"," 验证码:
"&Mybbs.GetCode())
End If
Response.Write template.html(6)
End If
End If
Rs.Close
Set Rs=Nothing
这里是通过两步来完成取回密码的,第一步是验证用户名,第二步才是取回密码。
4.1.3 浏览其他用户信息
如程序4-4。
程序4-4 用户列表程序(dispuser.asp)
UPSQL="update [Dv_user] set UserViews=UserViews+1 "
SQL=" Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSign,UserSex,
UserFace,UserWidth,UserHeight,UserIM,JoinDate,LastLogin,UserLogins,UserViews,Lockuser,
Userclass,UserGroup,userWealth,userEP,userCP,UserTitle,UserBirthday,UserQuesion,UserAnswer,
UserLastIP,UserPhoto,UserFav,UserPower,UserDel,UserIsBest,UserInfo,UserSetting,UserGroupID,
TitlePic,UserHidden,UserMsg,IsChallenge,UserMobile From [Dv_User] "
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] 下一页
asp学生论坛bbs设计毕业论文(开题报告+源代码) 第12页下载如图片无法显示或论文不完整,请联系qq752018766