这是我注册界面的代码,已经测试成功了,现在想做一个登录,调用注册好的数据,求大神帮忙,谢谢!
ASP.NET的登录界面代码问题。
答案:3 悬赏:10
解决时间 2021-03-01 01:45
- 提问者网友:乏味沐染
- 2021-02-28 01:00
最佳答案
- 二级知识专家网友:疯山鬼
- 2021-02-28 01:45
//if(SqlDataSource1.Insert()>0)这一句前面加SqlDataSource1.Insert();就可以写入数据库了
全部回答
- 1楼网友:ー何必说爱
- 2021-02-28 03:32
vs2008+sql2000中间差了8年。。不知道这是咋搭配的。。
下面是一段规范的登录验证代码,楼上的都写的太乱了:
loginstateisright=loginstate.error;//loginstate这是个枚举
stringusername=txtusername.text.trim();
stringpassword=txtpassword.text.trim();
stringvalidate=txtvalidate.text.trim();
stringmd5password=security.getmd5(password);
stringower="";
intuserid=-1;
arraylistarrpurv=newarraylist();
userrolerole=userrole.nullrole;//角色
if(session["validate"]==null)
session["validate"]="";
if(!validate.equals(session["validate"].tostring()))
isright=loginstate.wrongvalidate;
if(validate.equals(session["validate"].tostring()))
{
datasetds=helper.sql.executedataset(sqlconnstring.connstring,"s_getadminuserinfobyname",username);
if(ds.tables[0].rows.count==0)
{
isright=loginstate.wrongname;
}
else
{
if(!md5password.equals(ds.tables[0].rows[0]["userpwd"]))
{
isright=loginstate.wrongpwd;
}
if(md5password.equals(ds.tables[0].rows[0]["userpwd"]))
{
if(ds.tables[1].rows.count==0)
{
isright=loginstate.nullrole;
}
else
{
userid=convert.toint32(ds.tables[0].rows[0]["autoid"]);
role=(userrole)(ds.tables[0].rows[0]["role"]);
ower=ds.tables[0].rows[0]["owner"].tostring();
if(ower=="")
ower=username;
for(inti=0;i<ds.tables[1].rows.count;i++)
{
arrpurv.add(ds.tables[1].rows[i]["purviewid"]);
}
isright=loginstate.success;
}
if(ds.tables[0].rows[0]["loginflags"].tostring()=="1")
{
isright=loginstate.nullrole;
}
}
}
}
switch(isright)
{
caseloginstate.wrongname:
publicclass.sendmessage("用户名错误",page);break;
caseloginstate.wrongpwd:
publicclass.sendmessage("密码错误",page);break;
caseloginstate.nullrole:
publicclass.sendmessage("用户被锁定",page);break;
caseloginstate.success:
adminuseruser=newadminuser(userid,username,arrpurv,role,ower);
session["user"]=user;
redirecturl(user);//自定义的跳转,里面还有些根据用户角色的特殊处理
break;
caseloginstate.error:
publicclass.sendmessage("系统错误",page);break;
caseloginstate.wrongvalidate:
publicclass.sendmessage("验证码错误",page);break;
default:
publicclass.sendmessage("系统错误",page);break;
}
session.clear();
主要的意思就是在写这种登录或者别的多条件判断的时候,要把一堆if的判断和结果分开来编写,还有最好使用枚举,我个人一直觉得。清晰的代码编写和命名是不用再多写一个字注释的!而且这样也方便你以后修改各种结果的处理方法。
- 2楼网友:星星坠落
- 2021-02-28 02:16
这个很简单吧 你只需要在你的额注册成功那里 跳转到你的登录页面不就可以了么。
不知道你要的结果是什么 是想把注册好的个人信息自动显示到 登录界面上?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯