登录示例MFC

时间:2015-05-27 05:58:34

标签: login mfc

这是一项非常简单的任务。我只是想从用户那里获得用户名和密码。如果用户名为admin且密码为password,则单击ok按钮应调用下一个对话框。如果用户名和密码是其他内容,则应显示一个消息框,指出Invalid login。我的问题是,即使我提供用户名为admin和密码作为密码我得到无效登录消息框。这是我的代码。

void CUserLoginDlg::OnBnClickedOk()
{
CString uname="admin";
CString pwd="password";
if(m_Username== uname|| m_Password==pwd)
{   
    CDisk Dlg;
    Dlg.DoModal();
}
else
{
    AfxMessageBox("Invalid Login");
}
}

即使我将登录凭据作为管理员和密码提供,我也会收到Messagebox。我不知道如何解决这个问题。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

以下是更正后的版本:

void CUserLoginDlg::OnBnClickedOk()
{
  UpdateData();  // updates m_Username and m_Password

  CString uname="admin";
  CString pwd="password";

  if (m_Username == uname && m_Password == pwd)
  {                   // ^ replaced || by &&
     CDisk Dlg;
     Dlg.DoModal();
   }
   else
   {
     AfxMessageBox("Invalid Login");
   }
}

您必须在功能开头调用UpdataData

您的测试m_Username == uname || m_Password == pwd是错误的。这个解释留给读者练习。