reg.asp

来自「小游戏网站演示www.4399.io 拥有4万条游戏数据」· ASP 代码 · 共 333 行

ASP
333
字号
<!--#include file="config.asp"-->
<!--#include file="../inc/classmenu.asp"-->
<!--#include file="../inc/chkinput.asp"-->
<!--#include file="../inc/md5.asp"-->
<!--#include file="../inc/email.asp"-->
<!--#include file="../api/cls_api.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)

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("usersetting") = ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
	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
%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?