www.gusucode.com > 艺术签名文章资讯网源代码 > 艺术签名文章资讯网源代码/624/user/reg.asp

    <!--#include file="config.asp"-->
<!--#include file="../inc/chkinput.asp"-->
<!--#include file="../inc/md5.asp"-->
<!--#include file="../inc/email.asp"-->
<!--#include file="../api/cls_api.asp"-->
<!--#include file="../inc/cls_public.asp"-->
<%
Dim HtmlContent,ChannelRootDir
Dim strRegItem,GetCode

ChannelRootDir = Newasp.InstallDir & "user/"
Newasp.LoadTemplates 9999, 5, 0

HtmlContent = Newasp.HtmlContent
HtmlContent = Replace(HtmlContent,"{$InstallDir}", Newasp.InstallDir)
HtmlContent = Replace(HtmlContent, "{$ChannelID}", 0)
'--频道目录
HtmlContent = Replace(HtmlContent,"{$ChannelRootDir}", ChannelRootDir)
HtmlContent = Replace(HtmlContent,"{$CurrentStation}","用户注册")
HtmlContent = Replace(HtmlContent,"{$PageTitle}","用户注册")
HtmlContent = ReadClassMenu(HtmlContent)
HtmlContent = ReadClassMenubar(HtmlContent)
HtmlContent = HTML.ReadAnnounceList(HtmlContent)
HtmlContent = HTML.ReadStatistic(HtmlContent)
HtmlContent = HTML.ReadUserRank(HtmlContent)

If CInt(Newasp.membergrade) > 0 Then Response.Redirect "index.asp"

If CInt(Newasp.CheckUserReg) <> 1 Then
	ErrMsg = ErrMsg + Newasp.HtmlSetting(1)
	Founderr = True
ElseIf Newasp.CheckStr(Request("action")) = "agree" Then
	Call ApplyMember
ElseIf Newasp.CheckStr(Request("action")) = "reg" Then
	Call RegNewMember
Else
	strRegItem = Newasp.HtmlSetting(5)
	HtmlContent = Replace(HtmlContent,"{$UserManageContent}", Newasp.HtmlSetting(3))
	HtmlContent = Replace(HtmlContent,"{$UserRegItem}", Server.HTMLEncode(strRegItem))
	HtmlContent = Replace(HtmlContent,"{$SiteName}", Newasp.SiteName)
	Response.Write HtmlContent

End If
If Founderr = True Then
	Call Returnerr(ErrMsg)
End If

Sub ApplyMember()
	If Trim(Request.Form("action")) <> "agree" Then
		ErrMsg = ErrMsg + "<li>错误的系统参数!</li>"
		Founderr = True
		Exit Sub
	End If
	HtmlContent = Replace(HtmlContent,"{$UserManageContent}", Newasp.HtmlSetting(4))
	HtmlContent = Replace(HtmlContent,"{$SiteName}", Newasp.SiteName)
	Response.Write HtmlContent
End Sub

Sub RegNewMember()
	Dim Rs,SQL
	Dim UserPassWord,strUserName,strGroupName,Password
	Dim rndnum,num1
	Dim Question,Answer,usersex,sex
	On Error Resume Next
	If Newasp.CheckPost = False Then
		ErrMsg = ErrMsg + "<li>您提交的数据不合法,请不要从外部提交注册。</li>"
		FoundErr = True
	End If
	If Trim(Request.Form("username")) = "" Then
		ErrMsg = ErrMsg + "<li>登录账号不能为空!</li>"
		Founderr = True
	End If
	If Newasp.IsValidStr(Request.Form("username")) = False Then
		ErrMsg = ErrMsg + "<li>登录账号中含有非法字符!</li>"
		Founderr = True
	Else
		strUserName = Newasp.CheckBadstr(Trim(Request.Form("username")))
	End If
	If Trim(Request.Form("nickname")) = "" Then
		ErrMsg = ErrMsg + "<li>用户昵称不能为空!</li>"
		Founderr = True
	End If
	If Newasp.IsValidStr(Request.Form("nickname")) = False Then
		ErrMsg = ErrMsg + "<li>用户昵称中含有非法字符!</li>"
		Founderr = True
	End If
	If Newasp.IsValidPassword(Request.Form("password1")) = False Then
		ErrMsg = ErrMsg + "<li>密码中含有非法字符!</li>"
		Founderr = True
	End If
	If Trim(Request.Form("password1")) <> Trim(Request.Form("password2")) Then
		ErrMsg = ErrMsg + "<li>您输入的密码和确认密码不一致!</li>"
		Founderr = True
	End If
	If IsValidEmail(Request.Form("usermail")) = False Then
		ErrMsg = ErrMsg + "<li>您的Email有错误!</li>"
		Founderr = True
	End If
	If Trim(Request.Form("usersex")) = "" Then
		ErrMsg = ErrMsg + "<li>您的姓别不能为空!</li>"
		Founderr = True
	Else
		usersex = Newasp.CheckBadstr(Request.Form("usersex"))
	End If
	If usersex = "女" Then
		sex = 0
	Else
		sex = 1
	End If
	If Request("verifycode") = "" Then
		ErrMsg = ErrMsg + "<li>请返回输入验证码码。</li>"
		Founderr = True
	ElseIf Session("getcode") = "9999" Then
		Session("getcode") = ""
		ErrMsg = ErrMsg + "<li>请不要重复提交,如需重新登陆请返回登陆页面。</li>"
		Founderr = True
	ElseIf CStr(Session("getcode"))<>CStr(Trim(Request("verifycode"))) Then
		ErrMsg = ErrMsg + "<li>您输入的验证码和系统产生的不一致,请重新输入。</li>"
		Founderr = True
	End If
	Session("getcode") = ""
	Set Rs = Newasp.Execute("SELECT username FROM NC_User WHERE username='" & strUserName & "'")
	If Not (Rs.BOF And Rs.EOF) Then
		FoundErr = True
		ErrMsg = ErrMsg + "<li>Sorry!此用户已经存在,请换一个用户名再试!</li>"
		Exit Sub
	End If
	Rs.Close:Set Rs = Nothing
	Set Rs = Newasp.Execute("SELECT username FROM NC_Admin WHERE username='" & strUserName & "'")
	If Not (Rs.BOF And Rs.EOF) Then
		FoundErr = True
		ErrMsg = ErrMsg + "<li>Sorry!此用户已经存在,请换一个用户名再试!</li>"
		Exit Sub
	End If
	Rs.Close:Set Rs = Nothing
	If CInt(Newasp.ChkSameMail) = 1 Then
		Set Rs = Newasp.Execute("SELECT userid FROM NC_User WHERE usermail='" & Newasp.CheckStr(Request("usermail")) & "'")
		If Not Rs.EOF Then
			FoundErr = True
			ErrMsg = ErrMsg + "<li>对不起!本系统已经限制一个邮箱只能注册一个账号。</li><li>此邮箱["&Request("usermail")&"]已经占用,请您换一个邮箱再注册吧。</li>"
		End If
		Rs.Close:Set Rs = Nothing
	End If
	If CInt(Newasp.MailInformPass) = 1 Then
		Randomize
		Do While Len(rndnum) < 8
			num1 = CStr(Chr((57 - 48) * rnd + 48))
			rndnum = rndnum & num1
		loop
		UserPassWord = rndnum
	Else
		UserPassWord = Trim(Request.Form("password2"))
	End If
	Password = md5(UserPassWord)
	Question = Trim(Request.Form("question"))
	Answer = Trim(Request.Form("answer"))
	If Question = "" Then Question = Newasp.GetRandomCode
	If Answer = "" Then Answer = Newasp.GetRandomCode
	'-----------------------------------------------------------------
	'系统整合
	'-----------------------------------------------------------------
	Dim API_Newasp,API_SaveCookie,SysKey
	If API_Enable Then
		Set API_Newasp = New API_Conformity
		API_Newasp.NodeValue "action","reguser",0,False
		API_Newasp.NodeValue "username",strUserName,1,False
		Md5OLD = 1
		SysKey = Md5(API_Newasp.XmlNode("username") & API_ConformKey)
		Md5OLD = 0
		API_Newasp.NodeValue "syskey",SysKey,0,False
		API_Newasp.NodeValue "password",UserPassWord,0,False
		API_Newasp.NodeValue "email",Newasp.CheckStr(Request.Form("usermail")),1,False
		API_Newasp.NodeValue "question",Question,1,False
		API_Newasp.NodeValue "answer",Answer,1,False
		API_Newasp.NodeValue "gender",sex,0,False
		API_Newasp.SendHttpData
		If API_Newasp.Status = "1" Then
			Founderr = True
			ErrMsg =  ErrMsg & API_Newasp.Message
			Exit Sub
		Else
			API_SaveCookie = API_Newasp.SetCookie(SysKey,strUserName,Password,1)
		End If
		Set API_Newasp = Nothing
	End If
	'-----------------------------------------------------------------
	If Founderr = True Then Exit Sub
	Call PreventRefresh  '防刷新
	Set Rs = Newasp.Execute("SELECT GroupName FROM NC_UserGroup WHERE Groupid=3")
	If Rs.BOF And Rs.EOF Then
		strGroupName = "普通会员"
	Else
		strGroupName = Newasp.CheckBadstr(Rs(0))
		If Len(strGroupName) = 0 Then strGroupName = "普通会员"
	End If
	Rs.Close:Set Rs = Nothing
	Set Rs = Server.CreateObject("ADODB.Recordset")
	SQL = "select * from NC_User where (userid is null)"
	Rs.Open SQL,Conn,1,3
	Rs.Addnew
		Rs("username") = strUserName
		Rs("password") = Password
		Rs("nickname") = Newasp.CheckBadstr(Request.Form("nickname"))
		Rs("UserGrade") = 1
		Rs("UserGroup") = strGroupName
		Rs("UserClass") = 0
		If CInt(Newasp.AdminCheckReg) = 1 Then
			Rs("UserLock") = 1
		Else
			Rs("UserLock") = 0
		End If
		Rs("UserFace") = "face/1.gif"
		Rs("userpoint") = CLng(Newasp.AddUserPoint)
		Rs("usermoney") = 0
		Rs("savemoney") = 0
		Rs("prepaid") = 0
		Rs("experience") = 10
		Rs("charm") = 10
		Rs("TrueName") = Newasp.CheckBadstr(Request.Form("username"))
		Rs("usersex") = usersex
		Rs("usermail") = Newasp.CheckStr(Request.Form("usermail"))
		Rs("oicq") = ""
		Rs("question") = Question
		Rs("answer") = md5(Answer)
		Rs("JoinTime") = Now()
		Rs("ExpireTime") = Now()
		Rs("LastTime") = Now()
		Rs("Protect") = 0
		Rs("usermsg") = 0
		Rs("userlastip") = Newasp.GetUserIP
		If CInt(Newasp.AdminCheckReg) = 0 And CInt(Newasp.MailInformPass) = 0 Then
			Rs("userlogin") = 1
		Else
			Rs("userlogin") = 0
		End If
		Rs("UserToday") = "0,0,0,0,0,0,0,0,0,0,0"
		Rs("usersetting") = ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
		Rs("ip") = Newasp.GetUserIP
		Rs("Badness") = 0
		Rs("isask") = 0
	Rs.update
	Rs.Close
	SQL = "SELECT userid,username,password,nickname,UserGrade,UserGroup,UserClass,UserLock,userlogin FROM NC_user WHERE username = '" & Newasp.CheckBadstr(Request.Form("username")) & "' ORDER BY userid DESC"
	Rs.Open SQL, Conn, 1, 3
	If Rs("UserLock") = 0 And CInt(Newasp.MailInformPass) = 0 Then
		Response.Cookies(Newasp.Cookies_Name)("userid") = Rs("userid")
		Response.Cookies(Newasp.Cookies_Name)("username") = Rs("username")
		Response.Cookies(Newasp.Cookies_Name)("password") = Rs("password")
		Response.Cookies(Newasp.Cookies_Name)("nickname") = Rs("nickname")
		Response.Cookies(Newasp.Cookies_Name)("UserGrade") = Rs("UserGrade")
		Response.Cookies(Newasp.Cookies_Name)("UserGroup") = Rs("UserGroup")
		Response.Cookies(Newasp.Cookies_Name)("UserClass") = Rs("UserClass")
		'-----------------------------------------------------------------
		'系统整合
		'-----------------------------------------------------------------
		If API_Enable Then
			Response.Write API_SaveCookie
			Response.Flush
		End If
		'-----------------------------------------------------------------
	End If
	Rs.Close
	Set Rs = Nothing
	'发送注册邮件
	Dim username,useremail,topic,mailbody,strMessage
	If CInt(Newasp.IsCloseMail) = 0 And CInt(Newasp.SendRegMessage) = 1 Then
		username = strUserName
		useremail = Trim(Request.Form("usermail"))
		topic = "您在 " & Newasp.SiteName & " 的注册资料"
		mailbody = Newasp.HtmlSetting(6)
		mailbody = Replace(mailbody,"{$SiteName}", Newasp.SiteName, 1, -1, 1)
		mailbody = Replace(mailbody,"{$SiteUrl}", Newasp.SiteUrl, 1, -1, 1)
		mailbody = Replace(mailbody,"{$UserName}", username, 1, -1, 1)
		mailbody = Replace(mailbody,"{$EmailTopic}", topic, 1, -1, 1)
		mailbody = Replace(mailbody,"{$PassWord}", UserPassWord, 1, -1, 1)
		Select Case CInt(Newasp.SendMailType)
			Case 0
				strMessage = "<li>系统未开启邮件功能,请记住您的注册信息。</li>"
			Case 1
				Call Jmail(useremail, topic, mailbody)
			Case 2
				Call Cdonts(useremail, topic, mailbody)
			Case 3
				Call aspemail(useremail, topic, mailbody)
			Case Else
				strMessage = "<li>系统未开启邮件功能,请记住您的注册信息。</li>"
		End Select
		If SendMail = "OK" Then
			strMessage = "<li>您的注册信息已经发往您的邮箱,[" & Request("usermail") & "] 请注意查收。</li>"
		Else
			strMessage = "<li>由于系统错误,给您发送的注册资料未成功。</li>"
		End If
	End If
	If CInt(Newasp.AdminCheckReg) = 1 Then
		strMessage = strMessage & "<li>请等待管理员认证……</li>"
	End If
	sucmsg = Newasp.HtmlSetting(2)
	sucmsg = Replace(sucmsg, "{$UserName}", Request("username"))
	sucmsg = Replace(sucmsg, "{$Message}", strMessage)
	Call ReturnIndex(sucmsg)
	'-----------------------------------------------------------------
	'系统整合
	'-----------------------------------------------------------------
	If API_Enable Then
		If API_ReguserUrl <> "0" Then
			Response.Write "<script language=JavaScript>"
			Response.Write "setTimeout(""window.location='"& API_ReguserUrl &"'"",1000);"
			Response.Write "</script>"
		End If
	End If
	'-----------------------------------------------------------------
End Sub

Sub ReturnIndex(message)
	Response.Write "<html><head><title>成功提示信息!</title><meta http-equiv=Content-Type content=text/html; charset=gb2312>" & vbCrLf
	Response.Write "<meta http-equiv=refresh content=3;url=index.asp>"
	Response.Write "<link href=user_style.css rel=stylesheet type=text/css></head><body><br /><br />" & vbCrLf
	Response.Write "<table width=460 border=0 align=center cellpadding=0 cellspacing=0>"
	Response.Write "<tr bgcolor='#3795d2'>"
	Response.Write "  <td height='25' valign='top' bgcolor='#3795d2'> <img src='images/user_msg.gif' width=69 height=20></td>"
	Response.Write "  <td align='right' valign='top'> <img src='images/user_login_02.gif' width=4 height=4></td>"
	Response.Write "</tr>"
	Response.Write "<tr>"
	Response.Write "  <td width=526 height=1 colspan=2 bgcolor=#f8f6f5></td>"
	Response.Write "</tr>"
	Response.Write "<tr bgcolor=#f8f6f5>"
	Response.Write "  <td width=355 style='padding-left: 10px;padding-top: 5px;'><b style=color:blue><span id=jump>3</span> 秒钟后系统将自动转到用户管理首页</b><br>" & message & "</td>"
	Response.Write "  <td> <img src='images/user_suc.gif' width=95 height=97></td>"
	Response.Write "</tr>"
	Response.Write "<tr bgcolor=#f8f6f5><td align=center colspan=2><a href=index.asp>返回上一页...</a></td></tr>"
	Response.Write "<tr bgcolor='#3795d2'>"
	Response.Write "  <td height='8' valign='bottom'> <img src='images/user_login_04.gif' width=4 height=4></td>"
	Response.Write "  <td align='right' valign='bottom'> <img src='images/user_login_05.gif' width=4 height=4></td>"
	Response.Write "</tr>"
	Response.Write "</table>"
	Response.Write "<br /><br /></body></html>"
	Response.Write "<script>function countDown(secs){jump.innerText=secs;if(--secs>0)setTimeout(""countDown(""+secs+"")"",1000);}countDown(3);</script>"
End Sub
CloseConn
%>