标题:ASP 程序 同一账号可以多次注册,50Q币 求解决
只看楼主
liyin8800006
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-12
结帖率:0
已结贴  问题点数:20 回复次数:4 
ASP 程序 同一账号可以多次注册,50Q币 求解决
//注册会员
sub User_RegSave()
    user_info_UserName =my_request("username",0)
    user_info_PassWord =my_request("PassWord",0)
    user_info_PassWord2=my_request("PassWord2",0)
    user_info_question =my_request("question",0)
    user_info_answer   =my_request("answer",0)
    user_info_RealName =my_request("realname",0)
    user_info_email    =my_request("email",0)
    user_info_sex      =my_request("sex",1)
    CheckCode          =my_request("codeid",0)
    urlpath=my_request("urlpath",0)
    urlpath=replace(urlpath,"/","")
      
    ErrMsg=""
    if user_info_UserName="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>用户名不能为空!</li>"
    end if
    if user_info_PassWord="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>密码不能为空!</li>"
    end if
    if user_info_PassWord2="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>重复密码不能为空!</li>"
    end if
    if user_info_question="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>取回密码问题不能为空!</li>"
    end if
    if user_info_answer="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>问题答案不能为空!</li>"
    end if
        if  user_info_RealName="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>姓名不能为空!</li>"
    end if
    if user_info_email="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>电子邮件不能为空!</li>"
    end if
    if user_info_sex="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>性别不能为空!</li>"
    end if  
    if CheckCode="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>验证码不能为空!</li>"
    end if
    if user_info_PassWord<>user_info_PassWord2 then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>密码与重复密码不一致!</li>"
    end if
    if session("CheckCode")="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>你登录时间过长,请重新返回登录页面进行登录。

</li>"
    end if
    if CheckCode<>CStr(session("CheckCode")) then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>您输入的确认码和系统产生的不一致,请重新输入。

</li>"
    end if
   
    if FoundErr<>True then
        user_info_PassWord=md5(user_info_PassWord,32)
        Set rs= Server.CreateObject("ADODB.Recordset")
        sql="select * from user_info"
        rs.open sql,conn,1,3
        rs.addnew
        rs("user_info_UserName")=user_info_UserName
        rs("user_info_PassWord")=user_info_PassWord
        rs("user_info_question")=user_info_question
        rs("user_info_answer")  =user_info_answer
        rs("user_info_RealName")=user_info_RealName
        rs("user_info_email")   =user_info_email
        rs("user_info_sex")     =user_info_sex
        rs("user_info_RegTime") =now()
        rs("user_info_LastLoginTime")=now()
        rs("user_info_LoginNums")=rs("user_info_LoginNums")+1
        rs("user_info_LastLoginIp")=Request.ServerVariables

("REMOTE_ADDR")
        rs.update
      
        session("user_info_id")=rs("user_info_id")
        session("user_info_UserName")=rs("user_info_UserName")
        session("user_info_LoginIn")=true
        
        rs.close
        set rs=nothing
        Session("CheckCode")=""

        if urlpath<>"" then
            call ok("恭喜,您已成功注册成会员!",urlpath)
        else
            call ok("恭喜,您已成功注册成会员!","user_Personal.asp")
        end if
    else
     call WriteErrMsg(ErrMsg)
    end if
end sub
ASP 程序 同一账号可以多次注册,50Q币 求解决 联系QQ:378980878
 
搜索更多相关主题的帖子: 注册会员 question email 账号 
2012-02-12 19:06
jswenda
Rank: 2
等 级:论坛游民
帖 子:2
专家分:15
注 册:2012-1-16
得分:5 
你可以考虑用户名相同,但必须用邮箱登录。你可以参考这种网站的注册功能:http://www.
2012-02-14 09:49
kangli_kl
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:134
专家分:489
注 册:2008-4-5
得分:5 
在if FoundErr<>True then  这段下面向数据库中添加用户信息的时候,应该先去数据库中检查当前要注册的这个用户名在数据库中有没有,如果用户名已经存在则返回给用户一个“该用户名已存在”的提示,用户名不存在再开始往数据表中写用户信息,这样就可以保证用户名的唯一性。

求上而得中,求中而得下。
2012-02-14 10:27
ysf0181
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:55
帖 子:914
专家分:2385
注 册:2006-10-4
得分:5 
sub User_RegSave()
    user_info_UserName =my_request("username",0)
    user_info_PassWord =my_request("PassWord",0)
    user_info_PassWord2=my_request("PassWord2",0)
    user_info_question =my_request("question",0)
    user_info_answer   =my_request("answer",0)
    user_info_RealName =my_request("realname",0)
    user_info_email    =my_request("email",0)
    user_info_sex      =my_request("sex",1)
    CheckCode          =my_request("codeid",0)
    urlpath=my_request("urlpath",0)
    urlpath=replace(urlpath,"/","")
      
    ErrMsg=""
    if user_info_UserName="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>用户名不能为空!</li>"
    end if
    if user_info_PassWord="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>密码不能为空!</li>"
    end if
    if user_info_PassWord2="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>重复密码不能为空!</li>"
    end if
    if user_info_question="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>取回密码问题不能为空!</li>"
    end if
    if user_info_answer="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>问题答案不能为空!</li>"
    end if
        if  user_info_RealName="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>姓名不能为空!</li>"
    end if
    if user_info_email="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>电子邮件不能为空!</li>"
    end if
    if user_info_sex="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>性别不能为空!</li>"
    end if  
    if CheckCode="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>验证码不能为空!</li>"
    end if
    if user_info_PassWord<>user_info_PassWord2 then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>密码与重复密码不一致!</li>"
    end if
    if session("CheckCode")="" then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>你登录时间过长,请重新返回登录页面进行登录。

</li>"
    end if
    if CheckCode<>CStr(session("CheckCode")) then
     FoundErr=True
     ErrMsg=ErrMsg & "<li>您输入的确认码和系统产生的不一致,请重新输入。

</li>"
    end if
   
    if FoundErr<>True then
        user_info_PassWord=md5(user_info_PassWord,32)
        Set rs= Server.CreateObject("ADODB.Recordset")
        sql="select * from user_info where user_info_UserName = '"&user_info_UserName
&"'"
        rs.open sql,conn,1,3
        if not rs.eof then
           rs.close
          set rs = nothing
          conn.close
          set conn = nothing
ErrMsg=ErrMsg & "<li>帐号重复。</li>"

        end if
   

rs.close


sql="select * from user_info

   rs.open sql,conn,1,3
        rs.addnew
        rs("user_info_UserName")=user_info_UserName
        rs("user_info_PassWord")=user_info_PassWord
        rs("user_info_question")=user_info_question
        rs("user_info_answer")  =user_info_answer
        rs("user_info_RealName")=user_info_RealName
        rs("user_info_email")   =user_info_email
        rs("user_info_sex")     =user_info_sex
        rs("user_info_RegTime") =now()
        rs("user_info_LastLoginTime")=now()
        rs("user_info_LoginNums")=rs("user_info_LoginNums")+1
        rs("user_info_LastLoginIp")=Request.ServerVariables

("REMOTE_ADDR")
        rs.update
      
        session("user_info_id")=rs("user_info_id")
        session("user_info_UserName")=rs("user_info_UserName")
        session("user_info_LoginIn")=true
        
        rs.close
        set rs=nothing
        Session("CheckCode")=""

        if urlpath<>"" then
            call ok("恭喜,您已成功注册成会员!",urlpath)
        else
            call ok("恭喜,您已成功注册成会员!","user_Personal.asp")
        end if
    else
     call WriteErrMsg(ErrMsg)
    end if
end sub
最好在加上,js控制输入,避免二次提交,

[ 本帖最后由 ysf0181 于 2012-2-14 12:22 编辑 ]

ASP讨论QQ群:251346273
2012-02-14 12:21
wangzhao8550
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:32
专家分:139
注 册:2011-4-17
得分:5 
数据库中username字段设为主键 QQ号:8888888,哈哈,开玩笑
2012-02-18 00:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-360790-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056103 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved