gusucode.com > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告) > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告)\13学生论坛ASPAC\BBS\challenge_mod.asp
<!--#include file="conn.asp"--> <!-- #include file="inc/const.asp" --> <!--#include file="inc/md5.asp"--> <% Mybbs.stats="阳光会员修改信息" Mybbs.Loadtemplates("") Mybbs.nav() If Mybbs.UserID=0 then Response.redirect "showerr.asp?ErrCodes=<li>您还没有登录,请登录后进行操作。&action=OtherErr" If Not(Mybbs.Forum_ChanSetting(0)=1 And Mybbs.Forum_ChanSetting(9)=1) Then Response.redirect "showerr.asp?ErrCodes=<li>本论坛没有开启阳光会员注册、修改资料和密码的功能。&action=OtherErr" Select case request("action") case "submod" Mybbs.stats="提交资料" Mybbs.Head_var 0,0,"阳光会员修改信息","challenge_mod.asp" call reg_2() Case "redir" Mybbs.stats="提交资料" Mybbs.Head_var 0,0,"阳光会员修改信息","challenge_mod.asp" call redir() Case Else Mybbs.stats="修改资料" Mybbs.Head_var 0,0,"阳光会员修改信息","challenge_mod.asp" call reg_1() End Select Mybbs.footer() sub reg_1() Dim rs,UserIM set rs=Mybbs.execute("select * from [dv_user] where userid="&Mybbs.userid) If rs("IsChallenge")=0 Or Isnull(rs("IsChallenge")) Then Response.redirect "showerr.asp?ErrCodes=<li>您还不是阳光会员,请先升级为阳光会员。&action=OtherErr" UserIM = Split(Rs("UserIM"),"|||") %> <FORM name=theForm action="challenge_mod.asp?action=submod" method=post> <table cellpadding=3 cellspacing=1 align=center class=tableborder1> <TBODY> <TR align=middle> <Th colSpan=2 height=24>超级用户修改资料</TD> </TR> <TR> <TD width=40% class=tablebody1><B>用户名</B>:</TD> <TD width=60% class=tablebody1> <%=rs("username")%></TD> </TR> <TR> <TD width=40% class=tablebody1><B>原论坛密码</B>:<BR> 必须输入! </TD> <TD width=60% class=tablebody1> <INPUT type=password maxLength=16 size=30 name="psw"> </TD> </TR> <TR> <TD width=40% class=tablebody1><B>新论坛密码</B>:<BR>不修改请留空</TD> <TD class=tablebody1> <INPUT type=password maxLength=16 size=30 name="pswc"> </TD> </TR> <TR> <TD width=40% class=tablebody1><B>确认新密码</B>:<BR>不修改请留空</TD> <TD class=tablebody1> <INPUT type=password maxLength=16 size=30 name="pswc2"> </TD> </TR> <TR> <TD width=40% class=tablebody1><B>手机号码</B>:</TD> <TD class=tablebody1> <%=rs("usermobile")%> </TD> </TR> <TR> <TD width=40% class=tablebody1><B>性别</B>:<BR>请选择您的性别</font></TD> <TD width=60% class=tablebody1> <input type="radio" value="1" name="Sex" <%if rs("usersex")=1 Then Response.Write "checked"%>>酷哥 <input type="radio" name="Sex" value="0" <%if rs("usersex")=0 Then Response.Write "checked"%>>靓妹</TD> </TR> <TR> <TD width=40% class=tablebody1><B>OICQ</B>:</TD> <TD class=tablebody1> <INPUT type=text size=30 name="oicq" value="<%=UserIM(1)%>"> </TD> </TR> <TR> <TD width=40% class=tablebody1><B>Email地址</B>:<BR>请输入有效的邮件地址,这将使您能用到论坛中的所有功能</font></TD> <TD width=60% class=tablebody1> <INPUT maxLength=50 size=30 name="email" value="<%=rs("useremail")%>"></TD> </TR> <tr><td align=center class=tablebody2 colspan=2><input type=submit value="提 交"></td></form></tr> </tbody> </table> </form> <% Set Rs=Nothing end sub sub reg_2() dim rs if request("email")="" then Response.redirect "showerr.asp?ErrCodes=<li>请输入您的邮件地址。&action=OtherErr" if request("psw")="" then Response.redirect "showerr.asp?ErrCodes=<li>请输入您的论坛密码。&action=OtherErr" if request("pswc") <> request("pswc2") then Response.redirect "showerr.asp?ErrCodes=<li>两次输入的新密码不一致,请重新输入。&action=OtherErr" set rs=Mybbs.execute("select * from [dv_user] where userid="&Mybbs.userid) if md5(trim(request("psw")),16)<>rs("userpassword") then Response.redirect "showerr.asp?ErrCodes=<li>您输入的论坛密码不正确,请重新输入。&action=OtherErr" if rs("IsChallenge")=0 or isnull(rs("IsChallenge")) then Response.redirect "showerr.asp?ErrCodes=<li>您还不是阳光会员,请先升级为阳光会员。&action=OtherErr" dim mobile mobile=rs("UserMobile") dim newpsw if request("pswc")="" then newpsw=request("psw") else newpsw=request("pswc") end if dim sex if cint(request("sex"))=1 then sex="F" else sex="M" end if Session("challenge_mod_temp")=checkreal(request("psw")) & "|||" & checkreal(request("pswc")) & "|||" & checkreal(request("mobile")) & "|||" & checkreal(request("sex")) & "|||" & checkreal(request("oicq")) & "|||" & checkreal(request("email")) '挑战随机数 Dim MaxUserID,MaxLength MaxLength=12 set rs=Mybbs.Execute("select Max(userid) from [dv_user]") MaxUserID=rs(0) Dim num1,rndnum Randomize Do While Len(rndnum)<4 num1=CStr(Chr((57-48)*rnd+48)) rndnum=rndnum&num1 loop MaxUserID=rndnum & MaxUserID MaxLength=MaxLength-len(MaxUserID) select case MaxLength case 7 MaxUserID="0000000" & MaxUserID case 6 MaxUserID="000000" & MaxUserID case 5 MaxUserID="00000" & MaxUserID case 4 MaxUserID="0000" & MaxUserID case 3 MaxUserID="000" & MaxUserID case 2 MaxUserID="00" & MaxUserID case 1 MaxUserID="0" & MaxUserID case 0 MaxUserID=MaxUserID end select Session("challengeWord")=MaxUserID session("challengeWord_key")=md5(Session("challengeWord") & ":" & Mybbs.CacheData(21,0),32) set rs=Mybbs.execute("select top 1 * from Dv_ChallengeInfo") Dim MyForumID MyForumID=rs("D_ForumID") %> 正在提交数据,请稍后…… <form name="redir" action="http://bbs.ray5198.com/user_update.jsp" method="post"> <INPUT type=hidden name="username" value="<%=Mybbs.membername%>"> <INPUT type=hidden name="forumPwd" value="<%=checkreal(newpsw)%>"> <INPUT type=hidden name="oldPwd" value="<%=checkreal(request("psw"))%>"> <INPUT type=hidden name="mobile" value="<%=mobile%>"> <INPUT type=hidden name="sex" value="<%=sex%>"> <INPUT type=hidden name="qq" value="<%=checkreal(request("oicq"))%>"> <INPUT type=hidden name="email" value="<%=checkreal(request("email"))%>"> <INPUT type=hidden name="forumId" value="<%=MyForumID%>"> <input type=hidden name="forumUrl" value="<%=Mybbs.Get_ScriptNameUrl%>"> <input type=hidden value="<%=MaxUserID%>" name="challengeWord"> <input type=hidden value="challenge_mod.asp?action=redir" name="dirPage"> </form> <script LANGUAGE=javascript> <!-- redir.submit(); //--> </script> <% set rs=nothing end sub sub redir() dim ErrorCode,ErrorMsg dim remobile,rechallengeWord,retokerWord dim challengeWord_key,rechallengeWord_key dim challenge_mod_temp,newpsw ErrorCode=trim(request("ErrorCode")) ErrorMsg=trim(request("ErrorMsg")) remobile=trim(Mybbs.CheckStr(request("mobile"))) rechallengeWord=trim(Mybbs.CheckStr(request("challengeWord"))) retokerWord=trim(request("tokenWord")) select case ErrorCode case 100 challengeWord_key=session("challengeWord_key") if challengeWord_key=retokerWord then challenge_mod_temp=split(Mybbs.CheckStr(Session("challenge_mod_temp")),"|||") if trim(challenge_mod_temp(1))="" then newpsw=md5(trim(challenge_mod_temp(0)),16) else newpsw=md5(trim(challenge_mod_temp(1)),16) end if Dim UserIM,Rs,MyUserIM Set Rs=Mybbs.Execute("Select UserIM From Dv_User Where UserID = " & Mybbs.UserID) UserIM = Split(Rs("UserIM"),"|||") MyUserIM = UserIM(0) & "|||" & challenge_mod_temp(4) & "|||" & UserIM(2) & "|||" & UserIM(3) & "|||" & UserIM(4) & "|||" & UserIM(5) & "|||" & UserIM(6) Mybbs.execute("update [dv_user] set userpassword='"&newpsw&"',usersex='"&challenge_mod_temp(3)&"',UserIM='"&Replace(MyUserIM,"'","''")&"',useremail='"&challenge_mod_temp(5)&"',UserMobile='"&remobile&"',IsChallenge=1 where userid="&Mybbs.UserID) else Response.redirect "showerr.asp?ErrCodes=<li>非法的提交过程1。&action=OtherErr" end if case 101 Response.redirect "showerr.asp?ErrCodes=<li>您在论坛超级联盟修改信息失败,"&ErrorMsg&"。&action=OtherErr" case 102 Response.redirect "showerr.asp?ErrCodes=<li>您在论坛超级联盟修改信息失败,"&ErrorMsg&"。&action=OtherErr" case else Response.redirect "showerr.asp?ErrCodes=<li>非法的提交过程2,"&ErrorMsg&"。&action=OtherErr" end select %> <table cellpadding=3 cellspacing=1 align=center class=tableborder1> <tr> <th height=24>修改成功:<%=Mybbs.Forum_Info(0)%>欢迎您的到来</th> </tr> <tr><td class=tablebody1><br> <ul><li>您在本站成功的修改了超级用户资料<br><li><a href="index.asp">进入讨论区</a></li></ul> </td></tr> </table> <% end sub function checkreal(v) dim w if not isnull(v) then w=replace(v,"|||","§§§") checkreal=w end if end function %>