%
'==================================
' 用户注册页面
' 更新时间: 2006-5-29
'==================================
If blog_Disregister Then showmsg lang.Tip.SysTem(1), "站点不允许注册新用户
" & lang.Tip.SysTem(2) & "", "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")
%>
<%=lang.Action.Register%>
<%
ElseIf Request.Form("action") = "save" Then
Dim reg
reg = register
%>
<%
Function register
Dim ReInfo
Dim username, password, Confirmpassword, Gender, email, homepage, validate, HideEmail, checkUser, Question, Answer
ReInfo = Array(lang.Tip.SysTem(1), "", "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 blog_PasswordProtection Then
Question = Trim(CheckStr(request.Form("Question")))
Answer = Trim(CheckStr(request.Form("Answer")))
End If
If request.Form("hiddenEmail") = 1 Then
HideEmail = True
Else
HideEmail = False
End If
If Len(username) = 0 Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = "
" & lang.MemBer.EditForm(51) & "" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "WarningIcon"
register = ReInfo
Exit Function
End If
If Len(username)<2 Or Len(username)>24 Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = "
" & lang.MemBer.EditForm(52) & "" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If IsValidUserName(username) = False Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(53) & "
" & lang.Tip.SysTem(2) & ""
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) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(54) & "
" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If Len(password) = 0 Or (Len(password)<6 Or Len(password)>16) Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(55) & "
" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "WarningIcon"
register = ReInfo
Exit Function
End If
If password<>Confirmpassword Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(56) & "
" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If blog_PasswordProtection Then
If (len(Question) > 0 and len(Answer) = 0) or (len(Question) = 0 and len(Answer) > 0) Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(57) & "
" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
End If
If Len(email)>0 And IsValidEmail(email) = False Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(58) & "
" & lang.Tip.SysTem(2) & ""
ReInfo(2) = "ErrorIcon"
register = ReInfo
Exit Function
End If
If CStr(LCase(Session("GetCode")))<>CStr(LCase(validate)) Then
ReInfo(0) = lang.Tip.SysTem(1)
ReInfo(1) = lang.MemBer.EditForm(59) & "
" & lang.Tip.SysTem(2) & ""
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)
If blog_PasswordProtection Then
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), Array("mem_Question", Question), Array("mem_Answer", Answer))
Else
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))
End If
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) = lang.MemBer.EditForm(60)
Referer_Url = Session(CookieName & "_Register_Referer_Url")
If len(Referer_Url) < 8 Then
ReInfo(1) = lang.MemBer.EditForm(61) & "
"
Else
ReInfo(1) = "
" & lang.MemBer.EditForm(62) & "" & lang.MemBer.EditForm(63) & " |
" & lang.Tip.SysTem(4) & "" & lang.MemBer.EditForm(64) & "
"
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%>