www.gusucode.com > CC校友录贴吧 CCBar源码程序asp编程 > user/user_reg_save.asp
<% '=================================================================== '= ASP FILENAME : /user/user_reg_save.asp '= CREATED TIME : 2006-6-26 '= LAST MODIFIED: 2006-6-26 '= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com '= DESCRIPTION : 用户密码修改 '= Change Log: '=================================================================== %> <!-- #include file = "../inc/customer/include_customer_action_execute.asp" --> <!-- #include file = "./user_inc.asp" --> <!-- #include file = "../inc/inc_md5.asp" --> <!-- #include file = "../inc/logic/logic_user.asp" --> <!-- #include file = "../inc/inc_file_func.asp" --> <% '======================================================== '== Action参数设置 '======================================================== '== 页面名 Const CONST_PAGE_FILE = "user/user_reg_save.asp" '== 页面标题/功能 Const CONST_PAGE_TITLE = "用户注册" '== 功能函数名字空间 Const CONST_ACTION_FUNC = "FormSaveUserRegisterCtl" '== 相对根目录路径 GBL_strHomeURL = "../" '== 页面构造 Call ActionBuild() '== 请求校验与过滤 Call ActionFilter(CONST_PAGE_FILE,CONST_ACTION_FUNC) '== 页面析构 Call ActionOver() %> <% '=================================================================== '= Sub : FormSaveUserRegisterCtl() '= Time : Created At 2006-6-26 '= Input : None '= Table : INSERT INTO CLASS_USER, '= Description : 用户注册 '=================================================================== Sub FormSaveUserRegisterCtl() Dim intErrId Dim strAddInfo Dim strUserName,strEmail,strRealName '== Get form data Dim intUserId Dim intFieldId Dim arrRegAnsw(4) Dim intEnroll,intGrad,strWork intErrId = 0 '== check user reg whether or not need check by question If GBL_intUserRegMode = 2 Then arrRegAnsw(0) = Trim(Request.Form("iptRegQuestion1")) arrRegAnsw(1) = Trim(Request.Form("iptRegQuestion2")) arrRegAnsw(2) = Trim(Request.Form("iptRegQuestion3")) arrRegAnsw(3) = Trim(Request.Form("iptRegQuestion4")) arrRegAnsw(4) = Trim(Request.Form("iptRegQuestion5")) GBL_objPubDB.Clear() GBL_objPubDB.TableName = "CLASS_REG" GBL_objPubDB.SQLType = "SELECT" GBL_objPubDB.AddField "TOP 5 REG_ANSWER","" GBL_objPubDB.SQLRSExecute() Call ResultExecute(GBL_objPubDB.intErrNum,"user check before reg","ES_ERR") Dim i If GBL_objPubDB.intRSNum > 0 Then For i = 1 To GBL_objPubDB.intRSNum strAddInfo = "注册验证问题" & i intErrId = DataCheck("DT_FIX_LENGTH",arrRegAnsw(i - 1),strAddInfo,"1|DTC_LESS_MORE_LEN|100|") If intErrId <> 0 Then Call ResultExecute(E_USER_PUB,"请填写注册提问","ES_ERR") End If If arrRegAnsw(i - 1 ) <> Trim(GBL_objPubDB.objPubRS("REG_ANSWER")) Then Call ResultExecute(E_USER_PUB,"问题" & i & "回答错误","ES_ERR") End If GBL_objPubDB.objPubRS.MoveNext Next End If End If '== Check user register account Dim strAccount : strAccount = Trim(Request.Form("iptAccount")) strAddInfo = "所申请用户名" intErrId = DataCheck("DT_FIX_LENGTH",strAccount,strAddInfo,"2|DTC_LESS_MORE_LEN|10|") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") GBL_objPubDB.Clear() GBL_objPubDB.TableName = "CLASS_USER" GBL_objPubDB.SQLType = "SELECT" GBL_objPubDB.AddField "USER_ID","" GBL_objPubDB.Where = "USER_ACCOUNT='" & strAccount & "'" GBL_objPubDB.SQLRSExecute() Call ResultExecute(GBL_objPubDB.intErrNum,GBL_objPubDB.ReturnSQL(),"ES_ERR") If GBL_objPubDB.intRSNum <> 0 Then Call GBL_objException.catchErr(E_USER_PUB,"该用户名已存在") Exit Sub End If '== Check user email strEmail = Trim(Request.Form("iptEmail")) strAddInfo = "所填写的" intErrId = DataCheck("DT_EMAIL", strEmail, strAddInfo, "") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") GBL_objPubDB.Clear() GBL_objPubDB.TableName = "CLASS_USER" GBL_objPubDB.SQLType = "SELECT" GBL_objPubDB.Where = "USER_EMAIL='" & strEmail & "'" GBL_objPubDB.AddField "USER_ID","" GBL_objPubDB.SQLRSExecute() Call ResultExecute(GBL_objPubDB.intErrNum,"","ES_ERR") If GBL_objPubDB.intRSNum <> 0 Then Call GBL_objException.catchErr(E_USER_PUB,"该邮件地址已被人使用") Exit Sub End If '== Check user real name strRealName = Trim(Request.Form("iptRealName")) strAddInfo = "您的真实姓名" intErrId = DataCheck("DT_CHN", strRealName, strAddInfo, "") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") intErrId = DataCheck("DT_FIX_LENGTH",strRealName,strAddInfo,"2|DTC_LESS_MORE_LEN|4|") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") '== Check user's pwd Dim strPassWord : strPassWord = Trim(Request.Form("iptPassWord")) strAddInfo = "你的输入密码" intErrId = DataCheck("DT_FIX_LENGTH",strPassWord,strAddInfo,"6|DTC_LESS_MORE_LEN|20|") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") Dim strPassWord2 : strPassWord2 = Trim(Request.Form("iptPassWord2")) strAddInfo = "你的确认密码" intErrId = DataCheck("DT_FIX_LENGTH",strPassWord2,strAddInfo,"6|DTC_LESS_MORE_LEN|20|") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") If strPassWord <> strPassWord2 Then Call ResultExecute(256,"","ES_ERR") End If '== Encrypt user pwd strPassword = Md5(strPassWord) '== Check question and answer Dim strQuestion : strQuestion = Trim(Request.Form("iptQuestion")) strAddInfo = "你的密码问题" intErrId = DataCheck("DT_FIX_LENGTH",strQuestion,strAddInfo,"1|DTC_LESS_MORE_LEN|50|") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") Dim strAnswer : strAnswer = Trim(Request.Form("iptAnswer")) strAddInfo = "你的问题答案" intErrId = DataCheck("DT_FIX_LENGTH",strAnswer,strAddInfo,"1|DTC_LESS_MORE_LEN|50|") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") '== Check user's qq Dim strQq : strQq = Trim(Request.Form("iptQq")) '== Check user's workshop Dim strWorkShop : strWorkShop = Trim(Request.Form("iptWorkShop")) If Len(strWorkShop) < 4 Or Len(strWorkShop) > 100 Then Call ResultExecute(E_USER_PUB,"请填写在所在单位","ES_ERR") Exit Sub End If '== Check user's telephone Dim strTele : strTele = Trim(Request.Form("iptTele")) '== Check user's address Dim strAddress : strAddress = Trim(Request.Form("iptAddress")) '== Check user's class type Dim strClass : strClass = Trim(Request.Form("selClass")) If Len(strClass) < 4 Or Len(strClass) > 20 Then Call ResultExecute(E_USER_PUB,"请填写在校班级","ES_ERR") Exit Sub End If '== Check user's enroll and grad intEnroll = Trim(Request.Form("selEnroll")) If Not IsNumeric(intEnroll) Then Call ResultExecute(E_USER_PUB,"请填入正确的入学年份","ES_ERR") Exit Sub End If intGrad = Trim(Request.Form("selGrad")) If Not IsNumeric(intGrad) Then Call ResultExecute(E_USER_PUB,"请填入正确的毕业年份","ES_ERR") Exit Sub End If If intGrad < intEnroll Then Call ResultExecute(E_USER_PUB,"请填入正确的毕业和入学年份","ES_ERR") Exit Sub End If '== Check user work strWork = Trim(Request.Form("selWork")) If strWork = "" Then Call ResultExecute(E_USER_PUB,"请选择您的职业领域","ES_ERR") Exit Sub End If '== Check user's sex Dim strSex : strSex = Trim(Request.Form("selSex")) '== Check user's birthday Dim strBirthYear : strBirthYear = Trim(Request.Form("selBirthYear")) strAddInfo = "你的出生年份" intErrId = DataCheck("DT_INT",strBirthYear,strAddInfo,"") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") Dim strBirthMon : strBirthMon = Trim(Request.Form("selBirthMon")) strAddInfo = "你的出生月份" intErrId = DataCheck("DT_INT",strBirthMon,strAddInfo,"") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") Dim strBirthDay : strBirthDay = Trim(Request.Form("selBirthDay")) strAddInfo = "你的出生日期" intErrId = DataCheck("DT_INT",strBirthDay,strAddInfo,"") Call ResultExecute(intErrId,strAddInfo,"ES_ERR") Dim strBirth : strBirth = strBirthYear & "-" & strBirthMon & "-" & strBirthDay GBL_objPubDB.Clear() GBL_objPubDB.TableName = "CLASS_USER" GBL_objPubDB.SQLType = "INSERT" GBL_objPubDB.AddField "USER_ACCOUNT", strAccount GBL_objPubDB.AddField "USER_EMAIL", strEmail GBL_objPubDB.AddField "USER_REALNAME", strRealName GBL_objPubDB.AddField "USER_PASSWORD", strPassWord GBL_objPubDB.AddField "USER_QUESTION", strQuestion GBL_objPubDB.AddField "USER_ANSWER", strAnswer GBL_objPubDB.AddField "USER_QQ", strQq GBL_objPubDB.AddField "USER_WORKSHOP", strWorkShop GBL_objPubDB.AddField "USER_TELE", strTele GBL_objPubDB.AddField "USER_ADDRESS", strAddress GBL_objPubDB.AddField "USER_CLASS", strClass GBL_objPubDB.AddField "USER_SEX", strSex GBL_objPubDB.AddField "USER_GRAD", intGrad GBL_objPubDB.AddField "USER_ENROLL", intEnroll GBL_objPubDB.AddField "USER_WORK", strWork '== whether or not verify for register user If GBL_intUserRegMode = 3 Or GBL_intUserRegMode = 4 Then GBL_objPubDB.AddField "USER_AUTHEN", 8 Else GBL_objPubDB.AddField "USER_AUTHEN", 0 End If If strSex = "男" Then GBL_objPubDB.AddField "USER_CARTOON_FACE", GBL_strCartoonMale GBL_objPubDB.AddField "USER_NOW_FACE",GBL_strCartoonFacePath & GBL_strCartoonMale & ".gif" ElseIf strSex = "女" Then GBL_objPubDB.AddField "USER_CARTOON_FACE", GBL_strCartoonFeMale GBL_objPubDB.AddField "USER_NOW_FACE",GBL_strCartoonFacePath & GBL_strCartoonFeMale & ".gif" Else GBL_objPubDB.AddField "USER_CARTOON_FACE", GBL_strCartoonMale GBL_objPubDB.AddField "USER_NOW_FACE",GBL_strCartoonFacePath & GBL_strCartoonFeMale & ".gif" End If GBL_objPubDB.AddField "USER_FACE_SELECT","卡通头像" GBL_objPubDB.AddField "USER_UP_FACE","null.gif" GBL_objPubDB.AddField "USER_BIRTH", strBirth Dim strHtmlCode '== Get real ip If Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" Then GBL_objPubDB.AddField "USER_LAST_IP", Request.ServerVariables("HTTP_X_FORWARDED_FOR") Else GBL_objPubDB.AddField "USER_LAST_IP", Request.ServerVariables("REMOTE_ADDR") End If GBL_objPubDB.SQLExecute() Call ResultExecute(GBL_objPubDB.intErrNum,""&GBL_objPubDB.returnsql,"ES_ERR") Dim strFilePath If GBL_intUserRegMode = 4 Then strHtmlCode = "用户" & strAccount & "注册成功,正在等待批准" ElseIf GBL_intUserRegMode = 3 Then '== 重新生成用户select html strFilePath = GBL_strHomeUrl & GBL_strHtmlFolder & "user_option.html" If Not MakeHtmlUserOptionLogic("",strFilePath) Then Exit Sub strHtmlCode = "用户" & strAccount & "注册成功" Else '== 重新生成用户select html strFilePath = GBL_strHomeUrl & GBL_strHtmlFolder & "user_option.html" If Not MakeHtmlUserOptionLogic("",strFilePath) Then Exit Sub strHtmlCode = "用户" & strAccount & "注册成功" End If '== 成功处理 Dim strSuccUrl strSuccUrl = "user/user_login_form.asp?action=FormUserLogin" Call SuccExecute(strHtmlCode,strSuccUrl) Call ResultExecute(201,strHtmlCode,"ES_SUCC") End Sub %>