2017-03-22 25 views
-1

我從管理表Retrive值,然後我存儲在字符串變量,最後我比較值我的代碼是不是重定向到另一頁在按鈕單擊事件我的網頁是不是重定向到admin.aspx

protected void Button1_Click(object sender, EventArgs e) 
    { 
     String uname = (String)txtuser.Text; 
     String upass = (String)txtp.Text; 
     String cuser = ""; 
     String cpass = ""; 
     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HMSS"].ToString()); 
     conn.Open(); 
     String query = "select username,password from admin where [email protected]"; 
     SqlCommand cmd = new SqlCommand(query,conn); 
     cmd.Parameters.AddWithValue("username", uname); 
     cmd.Parameters.AddWithValue("password", upass); 
     SqlDataReader rdr = cmd.ExecuteReader(); 


     while (rdr.Read()) 
     { 
      cuser = rdr["username"].ToString(); 
      cpass = rdr["password"].ToString(); 
     } 


     if (cuser==uname && cpass==upass) 
     { 
      Session["user"] = cuser; 
      Response.Redirect("admin.aspx",true); 

     } 

    } 


} 
+1

你確定你的,如果條件是真的嗎? –

+0

亞邏輯上它的真 –

回答

0

您能否檢查以下代碼行?

String uname = (String)txtuser.Text; 
  1. (串)隱式轉換是沒有必要的:Text屬性已經是一個字符串。

    conn.Open();

  2. 失蹤conn.Close();這是更好地也是 「從管理其中username = @用戶名選擇用戶名,密碼」 添加try/catch

    查詢字符串=;

    cmd.Parameters.AddWithValue(「password」,upass);

  3. 爲什麼你不檢查密碼在查詢中?

    cuser = rdr [「username」]。ToString();

  4. 這意味着空值不允許

    如果(cuser == UNAME & &公共社會行動中心== upass)

  5. 問題的情況下,敏感的/修剪。在調試中你會到達Response.Redirect嗎?

    Response.Redirect(「admin.aspx」,true);

  6. 也許~/admin.aspx

+0

字符串uname =(字符串)txtuser.Text我知道在這行代碼中不需要隱式轉換,我已經檢查了所有你寫的點,但它不起作用 –

+0

使用調試並告訴我們值爲:cuser,uname,cpass,upass – Emanuele

+0

cuser = gaurav,uname = gaurav,cpass = 12345678,upass = 12345678 –

0

試將您的狀況改爲低於

if (cuser.ToLower() == uname.ToLower() && cpass.ToLower() == upass.ToLower()) 
+0

我已經使用.ToLower方法,但它不起作用 –

相關問題