asp.net C# web代码
这是首页登录有一个下拉列表dropdownlist1两个文本框和一个按钮组成我想要实现的是在首页下拉列表中选择用户身份是管理员还是用户然后在textbox1输入姓名box...
这是首页登录 有一个下拉列表dropdownlist1 两个文本框 和一个按钮 组成
我想要实现的是 在首页下拉列表中选择用户身份是管理员还是用户 然后在textbox1输入姓名 box2中输入密码 点击按钮 进入第二个页面 选择管理员 验证正确就进入管理员界面 选择用户 验证正确 就进入用户页面 上面那段代码 我自己写的 总不对 请帮忙帮我指错 修改下 谢谢了
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (DropDownList1.SelectedValue = DropDownList1.ToString())
{ string constr = "Data Source=PC-200907252046;Initial Catalog=web;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.Open();
string username = TextBox1.Text;
string userpwd = TextBox2.Text;
string sqlcheckuser = "select * from A_username where username='" + username + "'and userpwd='" + userpwd + "'";
SqlCommand cmdcheckuser = new SqlCommand(sqlcheckuser, con);
SqlDataReader Dr;
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == username)
{
if (Dr.GetValue(2).ToString() == userpwd)
{
Session["IsloginOK"] = "Ok";
Session["username"] = username;
}
}
}
Response.Redirect("第二注册用户.aspx");
}
else if (DropDownList1.SelectedValue = DropDownList1.ToString())
{ string constr = "Data Source=PC-200907252046;Initial Catalog=web;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.Open();
string mname = TextBox1.Text;
string mpwd = TextBox2.Text;
string sqlcheckuser = "select * from A_manager where mname='" + mname + "'and mpwd='" + mpwd + "'";
SqlCommand cmdcheckuser = new SqlCommand(sqlcheckuser, con);
SqlDataReader Dr;
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == mname)
{
if (Dr.GetValue(2).ToString() == mpwd)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
}
}
Response.Redirect("第三管理员区.aspx");
}
}
}
看图 展开
我想要实现的是 在首页下拉列表中选择用户身份是管理员还是用户 然后在textbox1输入姓名 box2中输入密码 点击按钮 进入第二个页面 选择管理员 验证正确就进入管理员界面 选择用户 验证正确 就进入用户页面 上面那段代码 我自己写的 总不对 请帮忙帮我指错 修改下 谢谢了
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (DropDownList1.SelectedValue = DropDownList1.ToString())
{ string constr = "Data Source=PC-200907252046;Initial Catalog=web;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.Open();
string username = TextBox1.Text;
string userpwd = TextBox2.Text;
string sqlcheckuser = "select * from A_username where username='" + username + "'and userpwd='" + userpwd + "'";
SqlCommand cmdcheckuser = new SqlCommand(sqlcheckuser, con);
SqlDataReader Dr;
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == username)
{
if (Dr.GetValue(2).ToString() == userpwd)
{
Session["IsloginOK"] = "Ok";
Session["username"] = username;
}
}
}
Response.Redirect("第二注册用户.aspx");
}
else if (DropDownList1.SelectedValue = DropDownList1.ToString())
{ string constr = "Data Source=PC-200907252046;Initial Catalog=web;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.Open();
string mname = TextBox1.Text;
string mpwd = TextBox2.Text;
string sqlcheckuser = "select * from A_manager where mname='" + mname + "'and mpwd='" + mpwd + "'";
SqlCommand cmdcheckuser = new SqlCommand(sqlcheckuser, con);
SqlDataReader Dr;
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == mname)
{
if (Dr.GetValue(2).ToString() == mpwd)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
}
}
Response.Redirect("第三管理员区.aspx");
}
}
}
看图 展开
9个回答
展开全部
把错误贴出来,这样我们好找原因。
看了楼主的代码我提两点建议
string username = TextBox1.Text; //改成string username = TextBox1.Text.Trim();这样能去除textbox结尾的空格,因为在最后出现用户输入很容易出问题的一关
string userpwd = TextBox2.Text;//同上
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == mname)
{
if (Dr.GetValue(2).ToString() == mpwd)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
}
}
Response.Redirect("第二注册用户.aspx");
//这段代码烦长又多余,而且现在肯定达不到楼主的要求,错误密码都能过关吧
我改了下
int i = Convert.ToInt32(cmd.ExecuteScalar());//这里如果查到有符合你写的SQL语句的记录的话,i>0,从你的语句可以看出如果你能查到如何SQL语句的话,密码和用户名就已经可以确定正确了,楼主后来写的判断是多此一举
if(i>0)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
你用了这么多句结果还是错误的,我两句就搞定了
下面的一样改,我就不废话了
第二点意见:
管理员和注册用户存在两张表的做法我是不敢苟同,一般管理员和用户都放到一张表里,然后设置权限,根据权限判断是不是管理员,不过这可能有个人喜好有关,楼主这样做错误是没有的,是否合理我就不多说了
看了楼主的代码我提两点建议
string username = TextBox1.Text; //改成string username = TextBox1.Text.Trim();这样能去除textbox结尾的空格,因为在最后出现用户输入很容易出问题的一关
string userpwd = TextBox2.Text;//同上
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == mname)
{
if (Dr.GetValue(2).ToString() == mpwd)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
}
}
Response.Redirect("第二注册用户.aspx");
//这段代码烦长又多余,而且现在肯定达不到楼主的要求,错误密码都能过关吧
我改了下
int i = Convert.ToInt32(cmd.ExecuteScalar());//这里如果查到有符合你写的SQL语句的记录的话,i>0,从你的语句可以看出如果你能查到如何SQL语句的话,密码和用户名就已经可以确定正确了,楼主后来写的判断是多此一举
if(i>0)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
你用了这么多句结果还是错误的,我两句就搞定了
下面的一样改,我就不废话了
第二点意见:
管理员和注册用户存在两张表的做法我是不敢苟同,一般管理员和用户都放到一张表里,然后设置权限,根据权限判断是不是管理员,不过这可能有个人喜好有关,楼主这样做错误是没有的,是否合理我就不多说了
展开全部
1.if (DropDownList1.SelectedIndex == 0)
{
//Response.Redirect("第二注册用户.aspx");
}
2.
Session["IsloginOK"] = "Ok";
Session["username"] = username;
con.Close();
Dr.Close();
3.
string sqlcheckuser = "select * from A_username where username='" + username + "' and userpwd='" + userpwd + "'";
string sqlcheckuser = "select * from A_manager where mname='" + mname + "' and mpwd='" + mpwd + "'";
多一个空格
{
//Response.Redirect("第二注册用户.aspx");
}
2.
Session["IsloginOK"] = "Ok";
Session["username"] = username;
con.Close();
Dr.Close();
3.
string sqlcheckuser = "select * from A_username where username='" + username + "' and userpwd='" + userpwd + "'";
string sqlcheckuser = "select * from A_manager where mname='" + mname + "' and mpwd='" + mpwd + "'";
多一个空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据你的代码 改的 好久没碰C#了 不知道对不对 不过大体上应该是这样的
protected void Button1_Click(object sender, EventArgs e)
{
if (DropDownList1.SelectedValue =="普通用户")
{
if(Checkdb("A_username ",textbox1.text,textbox2.text)==1)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = b;
Response.Redirect("第二注册用户.aspx");
}
}
else
{
if(Checkdb("A_manager",textbox1.text,textbox2.text)==1)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = b;
Response.Redirect("第三管理员区.aspx");
}
}
}
public int Checkdb(string a,string b,string c)// a表示 数据表,b表示User C表示pwd
{
int i;
string constr = "Data Source=PC-200907252046;Initial Catalog=web;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.Open();
string sqlcheckuser = "select * from "+a+"where mname='" + b+ "'and mpwd='" + c+ "'";
SqlCommand cmdcheckuser = new SqlCommand(sqlcheckuser, con);
SqlDataReader Dr;
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == b)
{
if (Dr.GetValue(2).ToString() == c)
{
i=1;
}
}
}
else
{
i=0;
}
return i;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (DropDownList1.SelectedValue =="普通用户")
{
if(Checkdb("A_username ",textbox1.text,textbox2.text)==1)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = b;
Response.Redirect("第二注册用户.aspx");
}
}
else
{
if(Checkdb("A_manager",textbox1.text,textbox2.text)==1)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = b;
Response.Redirect("第三管理员区.aspx");
}
}
}
public int Checkdb(string a,string b,string c)// a表示 数据表,b表示User C表示pwd
{
int i;
string constr = "Data Source=PC-200907252046;Initial Catalog=web;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.Open();
string sqlcheckuser = "select * from "+a+"where mname='" + b+ "'and mpwd='" + c+ "'";
SqlCommand cmdcheckuser = new SqlCommand(sqlcheckuser, con);
SqlDataReader Dr;
Dr = cmdcheckuser.ExecuteReader();
if (Dr.Read())
{
if (Dr.GetValue(1).ToString() == b)
{
if (Dr.GetValue(2).ToString() == c)
{
i=1;
}
}
}
else
{
i=0;
}
return i;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一:
DropDownList1.SelectedValue = DropDownList1.ToString()
= 应该是==吧
DropDownList1.ToString()是DropDownList类型名即 System.Web.UI.WebControl.DropDownList 你不会这样写值吧
可能应该是
if(DropDownList1.SelectedValue=="用户")
else if(DropDownList1.SelectedValue=="管理员")
------------------------
第二
代码的确是多沉余了
-----------------------
第三
string sqlcheckuser = "select * from A_manager where mname='" + mname + "'and mpwd='" + mpwd + "'";
你通过这句查询,如果能返回
if (Dr.Read()) //这条如果通过 以下的判断就一定通过,除非你的字段不对应
{
if (Dr.GetValue(1).ToString() == mname)
{
if (Dr.GetValue(2).ToString() == mpwd)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
}
}
-----
第四
你的Sql写法很危险,易于SQL注入
最好过虑一下,不要相信任何的外界录入数据
DropDownList1.SelectedValue = DropDownList1.ToString()
= 应该是==吧
DropDownList1.ToString()是DropDownList类型名即 System.Web.UI.WebControl.DropDownList 你不会这样写值吧
可能应该是
if(DropDownList1.SelectedValue=="用户")
else if(DropDownList1.SelectedValue=="管理员")
------------------------
第二
代码的确是多沉余了
-----------------------
第三
string sqlcheckuser = "select * from A_manager where mname='" + mname + "'and mpwd='" + mpwd + "'";
你通过这句查询,如果能返回
if (Dr.Read()) //这条如果通过 以下的判断就一定通过,除非你的字段不对应
{
if (Dr.GetValue(1).ToString() == mname)
{
if (Dr.GetValue(2).ToString() == mpwd)
{
Session["IsloginOK"] = "Ok";
Session["mname"] = mname;
}
}
}
-----
第四
你的Sql写法很危险,易于SQL注入
最好过虑一下,不要相信任何的外界录入数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[原创]易学纨纨作品-C#.Net网上购物系统之网上书店(一) 程序介绍
http://hi.baidu.com/jonnysuen/blog/item/a4e19c4569021a88b2b7dc1a.html
http://hi.baidu.com/jonnysuen/blog/item/a4e19c4569021a88b2b7dc1a.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (DropDownList1.SelectedValue = DropDownList1.ToString())
这句话有问题
if (DropDownList1.SelectedValue == "字符串")
不过你这段东西写的可以优化很多,好多都是重复的代码
这句话有问题
if (DropDownList1.SelectedValue == "字符串")
不过你这段东西写的可以优化很多,好多都是重复的代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询