日期:2014-05-18  浏览次数:20459 次

后台管理页登陆的问题
后台管理页登陆的问题


就是填写用户名和密码,然后单击Button就可以登陆了,为什么用户名和密码都正确,还提示“嘿嘿,用户或密码不正确!”
 


后台代码如下:


  protected void Button1_Click(object sender, EventArgs e)
  {

   
  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/data/wzw.mdb");//ACCESS链接字符串
  OleDbConnection ConnAcc = new OleDbConnection(strConn); //OleDb链接类的实例化
  ConnAcc.Open();//打开数据库
  string strSQL = "SELECT * FROM wzw_user WHERE wzw_name='"+wzw_name.Text+"' AND wzw_pass='"+wzw_pass.Text+"'";//SQL语句
  OleDbCommand cmd = new OleDbCommand(strSQL, ConnAcc);//创建Command命令对象
  OleDbDataReader dr = cmd.ExecuteReader();//创建DataReader对象,并调用ExecuteReader从数据源检索行
  if (dr.Read()) //如果用户密码正确
  {
  Session["username"] = wzw_name.Text;
  Response.Redirect("admin_index.aspx");//转向后台管理首页  
  }
  else
  {
  Response.Write("<script>alert('嘿嘿,用户或密码不正确!')</script>");//弹出提示信息
  }
  dr.Close();//关闭阅读器
  ConnAcc.Close();//关闭数据库
  }

------解决方案--------------------
if (dr.HasRows)

dr.read();
Session["username"] = wzw_name.Text; 
Response.Redirect("admin_index.aspx");

else 

Response.Write(" <script>alert('嘿嘿,用户或密码不正确!') </script>"); 

或者
string strSQL = "SELECT * FROM wzw_user WHERE wzw_name='"+wzw_name.Text+"' ";//SQL语句
...
if (dr.Read()) //如果用户密码正确 

if (wzw_pass.Text==dr["wzw_pass"].tostring());
{
Session["username"] = wzw_name.Text; 
Response.Redirect("admin_index.aspx");
}
else 

Response.Write(" <script>alert('嘿嘿,用户或密码不正确!') </script>");//弹出提示信息 

}