⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user_regpost.asp

📁 个人网站比较简短
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#include file="CommonCode.asp"-->
<!--#include file="../Include/PowerEasy.MD5.asp"-->
<!--#include file="../Include/PowerEasy.SendMail.asp"-->
<!--#include file="../API/API_Config.asp"-->
<!--#include file="../API/API_Function.asp"-->
<%
'**************************************************************
' Software name: PowerEasy SiteWeaver
' Web: http://www.powereasy.net
' Copyright (C) 2005-2008 佛山市动易网络科技有限公司 版权所有
'**************************************************************

Dim CheckCode, CheckNum, CheckUrl

Call Main
Call CloseConn

Sub Main()
    UserTrueIP = ReplaceBadChar(UserTrueIP)

    Dim UserPassword, PwdConfirm, Question, Answer
    Dim i
    UserName = Trim(Request("UserName"))
    UserPassword = Trim(Request("Password"))
    PwdConfirm = Trim(Request("PwdConfirm"))
    Question = Trim(Request("Question"))
    Answer = Trim(Request("Answer"))
    Email = Trim(Request("Email"))
    CheckCode = LCase(ReplaceBadChar(Trim(Request("CheckCode"))))

    Dim strFields, arrFields, arrTemp, NeedAddContacter
    strFields = "Homepage,主页|QQ,QQ号码|ICQ,ICQ号码|MSN,MSN帐号|Yahoo,雅虎通帐号|UC,UC号码|Aim,Aim帐号|OfficePhone,办公电话|HomePhone,家庭电话|Fax,传真号码|Mobile,手机号码|PHS,小灵通号码|Region,国家/地区+省市/州郡+城市|Address,联系地址|ZipCode,邮政编码|TrueName,真实姓名|Birthday,出生日期|IDCard,身份证号码|Vocation,职业|Company,公司/单位名称|Department,部门名称|PosTitle,职务|Marriage,婚姻状态|Income,收入情况|UserFace,用户头像|FaceWidth,头像宽度|FaceHeight,头像高度|Sign,签名档|Privacy,隐私设定"
    arrFields = Split(strFields, "|")

    Randomize
    CheckNum = CStr(Int(7999 * Rnd + 2000)) & CStr(Int(7999 * Rnd + 2000)) '随机验证码
    CheckUrl = Request.ServerVariables("HTTP_REFERER")
    CheckUrl = Left(CheckUrl, InStrRev(CheckUrl, "/")) & "User_RegCheck.asp?Action=Check&UserName=" & UserName & "&Password=" & UserPassword & "&CheckNum=" & CheckNum
    If UserName = "" Or GetStrLen(UserName) > UserNameMax Or GetStrLen(UserName) < UserNameLimit Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>请输入用户名(不能大于" & UserNameMax & "小于" & UserNameLimit & ")</li>"
    Else
        If CheckUserBadChar(UserName) = False Then
            ErrMsg = ErrMsg & "<li>用户名中含有非法字符</li>"
            FoundErr = True
        End If
    End If


    If FoundInArr(UserName_RegDisabled, UserName, "|") = True Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>您输入的用户名为系统禁止注册的用户名</li>"
    End If
    If UserPassword = "" Or GetStrLen(UserPassword) > 12 Or GetStrLen(UserPassword) < 6 Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>请输入密码(不能大于12小于6)</li>"
    Else
        If CheckBadChar(UserPassword) = False Then
            ErrMsg = ErrMsg + "<li>密码中含有非法字符</li>"
            FoundErr = True
        End If
    End If
    If PwdConfirm = "" Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>请输入确认密码(不能大于12小于6)</li>"
    Else
        If UserPassword <> PwdConfirm Then
            FoundErr = True
            ErrMsg = ErrMsg & "<li>密码和确认密码不一致</li>"
        End If
    End If
    If Question = "" Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>密码提示问题不能为空</li>"
    End If
    If Answer = "" Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>密码答案不能为空</li>"
    End If
    If Email = "" Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>Email不能为空</li>"
    Else
        If IsValidEmail(Email) = False Then
            ErrMsg = ErrMsg & "<li>您的Email有错误</li>"
            FoundErr = True
        End If
    End If
    If EnableCheckCodeOfReg = True Then
        If Trim(Session("CheckCode")) = "" Then
            FoundErr = True
            ErrMsg = ErrMsg & "<li>你在注册页面的停留时间过长,导致注册验证码失效。请重新返回注册页面进行注册。</li>"
        End If
        If CheckCode <> Session("CheckCode") Then
            FoundErr = True
            ErrMsg = ErrMsg & "<li>您输入的注册验证码和系统产生的不一致,请重新输入。</li>"
        End If
    End If
    If EnableQAofReg = True Then
        Dim arrQAofReg
        arrQAofReg = Split(QAofReg & "", "$$$")
        For i = 0 To 2
            If Trim(arrQAofReg(i * 2)) <> "" Then
                If Trim(Request("RegAnswer" & i)) <> Trim(arrQAofReg(i * 2 + 1)) Then
                    FoundErr = True
                    ErrMsg = ErrMsg & "<li>请正确回答注册验证问题,否则您将不能注册</li>"
                    Exit For
                End If
            End If
        Next
    End If
    For i = 0 To UBound(arrFields)
        arrTemp = Split(arrFields(i), ",")
        If FoundInArr(RegFields_MustFill, arrTemp(0), ",") Then
            NeedAddContacter = True
            If Trim(Request(arrTemp(0))) = "" Or (i = 1 And LCase(Trim(Request(arrTemp(0)))) = "http://") Then
                If arrTemp(0) <> "Region" Then
                    FoundErr = True
                    ErrMsg = ErrMsg & "<li>请填写:" & arrTemp(1) & "</li>"
                ElseIf Trim(Request("Country")) = "" Or Trim(Request("Province")) = "" Or Trim(Request("City")) = "" Then
                    FoundErr = True
                    ErrMsg = ErrMsg & "<li>请填写:" & arrTemp(1) & "</li>"
                End If
            End If
        End If
    Next

    If FoundErr = True Then
        Call ShowRegResult
        Exit Sub
    End If


    Dim sqlReg, rsReg, trs, RndPassword
    Set trs = Conn.Execute("select max(UserID) from PE_User")
    If IsNull(trs(0)) Then
        UserID = 1
    Else
        UserID = trs(0) + 1
    End If
    Set trs = Nothing
    sqlReg = "select * from PE_User where UserName='" & UserName & "'"
    Set rsReg = Server.CreateObject("adodb.recordset")
    rsReg.Open sqlReg, Conn, 1, 3
    If Not (rsReg.BOF And rsReg.EOF) Then
        FoundErr = True
        ErrMsg = ErrMsg & "<li>您注册的用户已经存在!请换一个用户名再试试!</li>"
    Else
        If Not EnableMultiRegPerEmail Then
            Dim rsEmailOnce
            Set rsEmailOnce = Conn.Execute("select UserID from PE_User where Email='" & Email & "'")
            If Not (rsEmailOnce.BOF And rsEmailOnce.EOF) Then
                FoundErr = True
                ErrMsg = ErrMsg & "<li>您注册的Email已经存在!请更换Email再试试!</li>"
            End If
            Set rsEmailOnce = Nothing
        End If
    End If
    If FoundErr = True Then
        rsReg.Close
        Set rsReg = Nothing
        Call ShowRegResult
        Exit Sub
    End If

    '添加对整合接口的支持
    If API_Enable Then
        '重置错误状态和信息
        FoundErr = False
        ErrMsg = ""
        '将要发送的信息存入数组
        sPE_Items(conSyskey, 1) = MD5(UserName & API_Key, 16)
        sPE_Items(conAction, 1) = "reguser"
        sPE_Items(conUsername, 1) = UserName
        sPE_Items(conPassword, 1) = UserPassword
        sPE_Items(conQuestion, 1) = Question
        sPE_Items(conAnswer, 1) = Answer
        sPE_Items(conEmail, 1) = Email
        sPE_Items(conUserstatus, 1) = 0
        sPE_Items(conJointime, 1) = Now()
        sPE_Items(conUserip, 1) = UserTrueIP
        sPE_Items(conTruename, 1) = PE_HTMLEncode(Trim(Request.Form("TrueName")))
        sPE_Items(conGender, 1) = exchangeGender(Trim(Request.Form("Sex")))
        sPE_Items(conBirthday, 1) = FormatDateTime(PE_CDate(Trim(Request.Form("Birthday"))), vbShortDate)
        sPE_Items(conQQ, 1) = PE_HTMLEncode(Trim(Request.Form("QQ")))
        sPE_Items(conMsn, 1) = PE_HTMLEncode(Trim(Request.Form("MSN")))
        sPE_Items(conMobile, 1) = PE_HTMLEncode(Trim(Request.Form("Mobile")))
        sPE_Items(conTelephone, 1) = PE_HTMLEncode(Trim(Request.Form("OfficePhone")))
        sPE_Items(conProvince, 1) = PE_HTMLEncode(Trim(Request.Form("Province")))
        sPE_Items(conCity, 1) = PE_HTMLEncode(Trim(Request.Form("City")))
        sPE_Items(conAddress, 1) = PE_HTMLEncode(Trim(Request.Form("Address")))
        sPE_Items(conZipcode, 1) = PE_HTMLEncode(Trim(Request.Form("ZipCode")))
        sPE_Items(conHomepage, 1) = PE_HTMLEncode(Trim(Request.Form("HomePage")))
        If createXmlDom Then
            '支持MSXML,把数据存入xml流
            prepareXML True
            '向整合接口发送注册请求
            SendPost
            If FoundErr Then
                ErrMsg = "<li>" & ErrMsg & "</li>"
            End If
        Else
            '服务器不支持MSXML
            FoundErr = True
            ErrMsg = "<li>目前注册服务不可用! [APIError-XmlDom-Runtime]</li>"
        End If
    End If
    '完毕

    If FoundErr = True Then
        Call ShowRegResult
        Exit Sub
    End If

    RndPassword = GetRndPassword(16)

⌨️ 快捷键说明

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