2012-10-24 2 views
-11

여기에 로그인 시스템에 문제가 있습니다.사용자 인증 양식의 사용자 자격 증명 유효성 확인 문제

유효한 사용자 이름과 암호를 입력하면 다음 양식으로 갈 수 있습니다.

잘못된 사용자 이름과 올바른 암호를 입력해도 다음 양식으로 이동할 수 있습니다.

사용자 이름과 비밀번호가 맞습니다. 다음 양식으로 계속 갈 수 있습니다.

내 사용자 이름 또는 비밀번호가 잘못되어 다음으로 이동하지 못하게하는 올바른 코드는 무엇입니까?

여기 내 코드가 있습니다.

private void btnEnter_Click(object sender, EventArgs e)   
{ 
    if (tbUsername.Text == "username")    
    {     
     AdminMainMenu x = new AdminMainMenu(); 
     x.Show(); 
     t.Play();   
     this.Dispose();   
    }   
    else 
    { 
     SystemSounds.Hand.Play(); 
     MessageBox.Show("Invalid Username! ", "Error"); 
    } 

    if (tbPassword.Text == "password") 
    { 
     AdminMainMenu x = new AdminMainMenu(); 
     x.Show(); 
     t.Play(); 
     this.Dispose(); 
    } 
    else 
    { 
     SystemSounds.Hand.Play(); 
     MessageBox.Show("Invalid Password! ", "Error"); 
    } 
} 
+1

이 실행 : 사용자 이름이나 암호가과 같이 잘못된 경우

양자 택일로, 당신은 모두 개별적으로 return 클릭 이벤트에서 확인할 수 있나요? 여기에는 명확한 리디렉션이 없습니다. 그리고 악마는't'입니까? –

+0

@ 그랜트 토마스. Microsoft Visual C# 2008입니다.^_^ – Stew

답변

2

난 단지 당신이 요구하는 무슨 짐작하지만 모두에게 사용자 이름과 암호를하려면이 대신

if (tbUsername.Text == "username") 
{ 
    if(tbPassword.Text == "password") 
    { 
     AdminMainMenu x = new AdminMainMenu(); 
     x.Show(); 
     t.Play(); 
     this.Dispose(); 
    } 
    else 
    { 
     MessageBox.Show("Wrong password", "Error"); 
    } 
} 
else 
{ 
    if(tbPassword.Text == "password") 
    { 
     MessageBox.Show("Wrong username", "Error"); 
    } 
    else 
    { 
     MessageBox.Show("Wrong username and password", "Error"); 
    } 
} 
+0

username이 틀리면 messagebox에 "invalid username"이 표시되고 암호가 틀리면 "invalid password"라고 표시됩니다. – Stew

+0

Ok, 편집 된 답변. –

+0

tnx mate .. 코드가 작동합니다. hehee tnx 많이 .. – Stew

0

당신은 둥지 암호를 할 수있는 형태로 사용을 표시하기 전에 올바른 될 수 있습니다 성공적인 이름 if 블록 내부에 if 블록을 확인하십시오

private void btnEnter_Click(object sender, EventArgs e) 
{ 
    if (tbUsername.Text == "username") 
    { 
     if (tbPassword.Text == "password") 
     { 
      AdminMainMenu x = new AdminMainMenu(); 
      x.Show(); 
      t.Play(); 
      this.Dispose(); 
     } 
     else 
     { 
      SystemSounds.Hand.Play(); 
      MessageBox.Show("Invalid Password! ", "Error"); 
     }  
    } 
    else 
    { 
     SystemSounds.Hand.Play(); 
     MessageBox.Show("Invalid Username! ", "Error"); 
    } 
} 

방법을 당신이 그것을 사용자 이름 CH의 else 블록이 eck는 사용자 이름이 틀린 경우 코드가 암호 검사를 계속할 때 실행됩니다. 사용자 이름과 비밀번호를 모두 확인한 후에 만 ​​양식이 표시되는지 확인해야합니다. 어떤 환경에서

private void btnEnter_Click(object sender, EventArgs e) 
{ 
    if (tbUsername.Text != "username") 
    { 
     SystemSounds.Hand.Play(); 
     MessageBox.Show("Invalid Username! ", "Error"); 
     return; 
    } 

    if (tbPassword.Text != "password") 
    { 
     SystemSounds.Hand.Play(); 
     MessageBox.Show("Invalid Password! ", "Error"); 
     return; 
    } 

    //If we got here in code execution, then both username and password are correct 
    AdminMainMenu x = new AdminMainMenu(); 
    x.Show(); 
    t.Play(); 
    this.Dispose(); 
} 
+0

그것은 작동합니다! tnx 많이 .. – Stew

관련 문제