%
'==================================
' 用户注册页面
' 更新时间: 2006-5-29
'==================================
If blog_Disregister Then showmsg "错误信息", "站点不允许注册新用户
单击返回", "ErrorIcon", ""
%>
<%
dim Referer_Url
If Request.QueryString("action") = "agree" Then
logout(True)
Referer_Url = Session(CookieName & "_Register_Referer_Url")
If len(Referer_Url) < 8 then Referer_Url = Cstr(Request.ServerVariables("HTTP_REFERER"))
If len(Referer_Url) < 8 then Referer_Url = "http://" & Request.ServerVariables("HTTP_HOST")
%>
<%
ElseIf Request.Form("action") = "save" Then
Dim reg
reg = register
%>
<%
Function register
Dim ReInfo
Dim username, password, Confirmpassword, Gender, email, homepage, validate, HideEmail, checkUser
ReInfo = Array("错误信息", "", "MessageIcon")
username = Trim(CheckStr(request.Form("username")))
password = Trim(CheckStr(request.Form("password")))
Confirmpassword = Trim(CheckStr(request.Form("Confirmpassword")))
Gender = CheckStr(request.Form("Gender"))
email = Trim(CheckStr(request.Form("email")))
homepage = Trim(checkURL(CheckStr(request.Form("homepage"))))
validate = CheckStr(request.Form("validate"))
If request.Form("hiddenEmail") = 1 Then
HideEmail = True
Else
HideEmail = False
End If
If Len(username) = 0 Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
请输入用户名(昵称)!单击返回"
ReInfo(2) = "WarningIcon"
register = ReInfo
Exit Function
End If
If Len(username)<2 Or Len(username)>24 Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
用户名(昵称)不能小于2或
大于24个字符!单击返回"
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If IsValidUserName(username) = False Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
非法用户名!
请尝试使用其他用户名!单击返回"
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
Set checkUser = conn.Execute("select top 1 mem_id from blog_Member where mem_Name='"&username&"'")
If Not checkUser.EOF Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
用户名已经被注册!
请尝试使用其他用户名!单击返回"
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If Len(password) = 0 Or (Len(password)<6 Or Len(password)>16) Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
请输入6到16位密码!单击返回"
ReInfo(2) = "WarningIcon"
register = ReInfo
Exit Function
End If
If password<>Confirmpassword Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
两次密码输入不一致!请重新输入。单击返回"
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If Len(email)>0 And IsValidEmail(email) = False Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
错误的电子邮件地址。单击返回"
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If CStr(LCase(Session("GetCode")))<>CStr(LCase(validate)) Then
ReInfo(0) = "错误信息"
ReInfo(1) = "
验证码有误,请返回重新输入单击返回"
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
Dim strSalt, AddUser, hashkey
hashkey = SHA1(randomStr(6)&Now())
strSalt = randomStr(6)
password = SHA1(password&strSalt)
AddUser = Array(Array("mem_Name", username), Array("mem_Password", password), Array("mem_Sex", Gender), Array("mem_salt", strSalt), Array("mem_Email", email), Array("mem_HideEmail", Int(HideEmail)), Array("mem_HomePage", homepage), Array("mem_LastIP", getIP), Array("mem_lastVisit", Now()), Array("mem_hashKey", hashkey))
DBQuest "blog_member", AddUser, "insert"
'Conn.Execute("INSERT INTO blog_member(mem_Name,mem_Password,mem_Sex,mem_salt,mem_Email,mem_HideEmail,mem_HomePage,mem_LastIP) Values ('"&username&"','"&password&"',"&Gender&",'"&strSalt&"','"&email&"',"&HideEmail&",'"&homepage&"','"&getIP&"')")
Conn.Execute("UPDATE blog_Info SET blog_MemNums=blog_MemNums+1")
getInfo(2)
SQLQueryNums = SQLQueryNums + 2
ReInfo(0) = "用户注册成功"
Referer_Url = Session(CookieName & "_Register_Referer_Url")
If len(Referer_Url) < 8 Then
ReInfo(1) = "
注册并登录成功,三秒后返回首页!如果您的浏览器没有自动跳转,请点击这里"
Else
ReInfo(1) = "
注册并登录成功!返回注册前页面 |
返回首页三秒后自动返回登录前页面
"
End If
ReInfo(2) = "MessageIcon"
register = ReInfo
Response.Cookies(CookieName)("memName") = username
Response.Cookies(CookieName)("memHashKey") = hashkey
Response.Cookies(CookieName).Expires = Date+365
Session(CookieName&"_LastDo") = "RegisterUser"
End Function
Else
Referer_Url = Cstr(Request.ServerVariables("HTTP_REFERER"))
If len(Referer_Url) < 8 then Referer_Url= "http://" & Request.ServerVariables("HTTP_HOST")
Session(CookieName & "_Register_Referer_Url") = Referer_Url
%>
<%End if%>