5.2页面设计及代码 5.2.1注册页面及代码分析 copyright paper51.com 内容来自论文无忧网 www.paper51.com 代码分析: paper51.com 当用户在点击注册,填写了注册信息,点注册按钮的时候,执行的代码如下: paper51.com ‘如果检测到浏览器传递的值IsReg不为空,则执行代码;如果为空,则显示页面 内容来自论文无忧网 www.paper51.com ‘代码部分 内容来自论文无忧网 www.paper51.com
IfRequest("IsReg")<>"" Then paper51.com '判断用户输入的合法性 http://www.paper51.com ‘用户名、密码、确认密码、Email不能为空 http://www.paper51.com IfRequest("UserName")="" OrRequest("UserPassword")=""&_ 内容来自论文无忧网 www.paper51.com
OrRequest("ConfirmPassword")="" OrRequest("Email")="" Then 内容来自www.paper51.com ResultMsg("必填的项目没有填写,请返回重新填写完整的信息!") http://www.paper51.com Response.End copyright paper51.com End If paper51.com ‘用户名不能为一排空格 内容来自www.paper51.com
Dim tmpUserName paper51.com For i=1 ToLen(Request("UserName")) copyright paper51.com
tmpUserName=tmpUserName&"" http://www.paper51.com Next http://www.paper51.com
IftmpUserName=Request("UserName") Then http://www.paper51.com ResultMsg("请不要输入空格代替必填项目,请返回重新填写完整的信息!") 内容来自www.paper51.com Response.End copyright paper51.com
End If http://www.paper51.com ‘密码与确认密码的输入必须匹配 内容来自论文无忧网 www.paper51.com IfRequest("UserPassword")<>Request("ConfirmPassword")Then http://www.paper51.com ResultMsg("两次输入的密码不匹配,请返回重新输入!") copyright paper51.com Response.End 内容来自www.paper51.com End If 内容来自www.paper51.com ‘Email必须符合格式 内容来自www.paper51.com IfIsValidEmail(Request("Email"))=False Then copyright paper51.com ResultMsg("Email输入不符合规范,请返回重新输入!") http://www.paper51.com Response.End 内容来自www.paper51.com
End If http://www.paper51.com ‘若QQ号不为空,则输入必须为数字 内容来自www.paper51.com IfRequest("QQ")<>"" Then 内容来自www.paper51.com IfIsNumeric(Request("QQ"))=False Then http://www.paper51.com
ResultMsg("QQ号码必须为数字,请返回重新输入!") 内容来自论文无忧网 www.paper51.com Response.End 内容来自论文无忧网 www.paper51.com End If http://www.paper51.com End If 内容来自www.paper51.com
‘用户名与密码中不能包含SQL字符“’” paper51.com IfInStr(Request("UserName"),"'")>0 OrInStr(Request("UserPassword"),"'")>0 Then copyright paper51.com ResultMsg("字符“'”为非法输入,请去掉此字符!") 内容来自论文无忧网 www.paper51.com
Response.End paper51.com
End If paper51.com
‘用户名、密码、Email和QQ的字符数量不能超过数据库项目的数据类型的限制 paper51.com
IfLen(Request("UserName"))>20 OrLen(Request("UserPassword"))>20&_ http://www.paper51.com Or Len(Request("Email"))>50Or Len(Request("QQ"))>20 Then http://www.paper51.com ResultMsg("输入超出了最大字符数量限制(用户名20字符以内”&_ 内容来自www.paper51.com ”,密码20字符以内,Email 50字符以内,QQ 20字符以内。)") copyright paper51.com
Response.End 内容来自论文无忧网 www.paper51.com
End If 内容来自论文无忧网 www.paper51.com
http://www.paper51.com '取得用户输入 内容来自www.paper51.com DimUserName,UserPassword,Email,QQ 内容来自www.paper51.com
UserName=Server.HTMLEncode(Request("UserName")) 内容来自www.paper51.com 内容来自www.paper51.com
内容来自论文无忧网 www.paper51.com '根据用户名判断用户是否已存在 paper51.com
strSQL="SELECT UI_Name_SFROM [UserInfo]”&_ 内容来自www.paper51.com
”WHERE UI_Name_S='"&Request("UserName")&"'" http://www.paper51.com SetobjRS=Server.CreateObject("ADODB.RecordSet") http://www.paper51.com
objRS.Open strSQL,objConn,1,3 copyright paper51.com ‘如果没有找到任何用户,则输出操作信息 paper51.com If Not objRS.BOF Or NotobjRS.BOF Then 内容来自www.paper51.com ResultMsg("所注册的用户名已存在,请更换用户重新注册!") copyright paper51.com Response.End copyright paper51.com End If 内容来自www.paper51.com objRS.Close copyright paper51.com
内容来自www.paper51.com '将用户信息写入数据库 内容来自论文无忧网 www.paper51.com strSQL="INSERT INTO[UserInfo] (UI_PI_ID_FN,UI_Name_S,UI_Password_S”&_ paper51.com ”,UI_IsLocked_B””,UI_CerRank_N,UI_IsProvider_B,UI_Email_S,UI_QQ_S,”&_ http://www.paper51.com ”UI_IsAdmin_B,UI_RentCount_N)VALUES(0,'"&UserName&"','"&UserPassword&_ 内容来自www.paper51.com "',False,0,False,'"&Email&"','"&QQ&"',False,0)" 内容来自论文无忧网 www.paper51.com objConn.Execute(strSQL) 内容来自论文无忧网 www.paper51.com ResultMsg("您的注册已成功!") copyright paper51.com Set objRS=Nothing 内容来自论文无忧网 www.paper51.com
CloseDatabase http://www.paper51.com Else 内容来自论文无忧网 www.paper51.com 5.2.2用户登陆界面及代码分析 内容来自论文无忧网 www.paper51.com 用户登录时,需要检测用户名和用户密码;用户名和密码通过检测后,需要判断用户是否被锁定。检测通过后,还需要遍历数据库中的数据,找出有没有用户的租赁超过了期限,如果超过了则在数据库中进行标注。 paper51.com 代码分析: copyright paper51.com
<!--#includefile="CONN.ASP"--> http://www.paper51.com <!--#includefile="ChkSQL.asp"--> copyright paper51.com
<!--#includefile="ChkErr.asp"--> 内容来自论文无忧网 www.paper51.com <% 内容来自www.paper51.com DimstrSQL,objRS 内容来自论文无忧网 www.paper51.com
SetobjRS=Server.CreateObject("ADODB.RecordSet") copyright paper51.com '取得用户文件名、密码 paper51.com DimUserName,UserPassword 内容来自www.paper51.com '过滤SQL字符,防止SQL漏洞注入 copyright paper51.com UserName=ChkSQL(Request("UserName")) copyright paper51.com ‘UserPassword=Request("UserPassword") paper51.com '在数据库中查找用户 内容来自www.paper51.com strSQL="SELECT* FROM [UserInfo] WHERE UI_Name_S='"&UserName&"'" 内容来自www.paper51.com objRS.OpenstrSQL,objConn,1,3 内容来自论文无忧网 www.paper51.com
'判断用户是否存在 内容来自论文无忧网 www.paper51.com '若用户不存在则通过GetErr()函数提交并显示错误代码 内容来自www.paper51.com
IfobjRS.BOF Or objrs.EOF Then paper51.com
objRS.Close copyright paper51.com Set objRS=Nothing 内容来自www.paper51.com
Response.Write GetErr(3) paper51.com Response.End 内容来自www.paper51.com Else 内容来自论文无忧网 www.paper51.com '若用户存在,则检测用户密码的正误 内容来自论文无忧网 www.paper51.com IfobjRS("UI_Password_S")<>UserPassword Then paper51.com objRS.Close 内容来自www.paper51.com SetobjRS=Nothing 内容来自论文无忧网 www.paper51.com Response.WriteGetErr(4) 内容来自www.paper51.com Response.End copyright paper51.com End IF 内容来自www.paper51.com
内容来自论文无忧网 www.paper51.com
'判断用户是否被锁定 http://www.paper51.com IfobjRS("UI_IsLocked_B")=True Then http://www.paper51.com objRS.Close 内容来自www.paper51.com SetobjRS=Nothing paper51.com Response.WriteGetErr(5) 内容来自论文无忧网 www.paper51.com Response.End 内容来自www.paper51.com End If copyright paper51.com http://www.paper51.com '建立用户私有变量 copyright paper51.com Session.Timeout =30 paper51.com Session("UserID")=objRS("UI_ID_N") 内容来自论文无忧网 www.paper51.com objRS.Close 内容来自www.paper51.com
copyright paper51.com
'每当有用户登录则刷新数据库,判断是否有影片的预订超时或超期未还 copyright paper51.com
strSQL="SELECTTAC_ReserveTime_D,TAC_StartTime_D FROM [Tenancy]”&_ 内容来自www.paper51.com ”WHERE TAC_StartTime_D IS NULL" copyright paper51.com
objRS.Open strSQL,objConn,1,3 内容来自www.paper51.com For i=1 To objRS.RecordCount 内容来自www.paper51.com
'有超时的预订则删除 内容来自论文无忧网 www.paper51.com If IsNull(objRS("TAC_StartTime_D"))=TrueAnd&_ paper51.com DateDiff("h",objRS("TAC_ReserveTime_D"),Now())>12Then 内容来自论文无忧网 www.paper51.com objRS.Delete paper51.com End If http://www.paper51.com objRS.MoveNext 内容来自www.paper51.com
Next copyright paper51.com objRS.Close copyright paper51.com strSQL="SELECT * FROM[Tenancy] WHERE TAC_StartTime_D”&_ 内容来自论文无忧网 www.paper51.com
”IS NOT NULL AND TAC_EndTime_D IS NULL" 内容来自www.paper51.com
objRS.Open strSQL,objConn,1,3 copyright paper51.com Dim MsgUser 内容来自论文无忧网 www.paper51.com For i=1 To objRS.RecordCount http://www.paper51.com '有超期租赁的则标注 内容来自www.paper51.com
IfDateDiff("d",DateAdd("d",objRS("TAC_Lease_N"),&_ http://www.paper51.com objRS("TAC_StartTime_D")),Now())=>objRS("TAC_Lease_N")Then paper51.com strSQL="UPDATE [Tenancy]SET TAC_TimeOut_B=True,”&_ 内容来自www.paper51.com ”TAC_MsgUser_B=TrueWHERE TAC_ID_N="&objRS("TAC_ID_N") 内容来自www.paper51.com
objConn.Execute(strSQL) paper51.com End If http://www.paper51.com objRS.MoveNext http://www.paper51.com
Next 内容来自论文无忧网 www.paper51.com
objRS.Close 内容来自www.paper51.com '跳转回主页 内容来自论文无忧网 www.paper51.com Response.Redirect"index.asp" 内容来自www.paper51.com
EndIf 内容来自论文无忧网 www.paper51.com %> 内容来自www.paper51.com |