![](/img/trans.png)
[英]Can't get nested IF's to work properly in C#. What am I doing wrong?
[英]Can't get my insensitive user login function to work, what am I doing wrong? Xamarin forms
我有一个登录功能连接到我的数据库,但我无法让它工作,因为如果我用小写字母 (“m”) 注册,当我输入带有大写字母 (“M”) 的用户名时会出现错误。
yourEmail、yourPassword、usernameEntry、passwordEntry = 我的 xaml 文件中的条目
注册码:
var userInfo = await parseAPI.signupUser (yourEmail.Text, yourPassword.Text);
if (userInfo ["error"] == null) {
Application.Current.Properties ["userId"] = userInfo ["objectId"].ToString ();
Application.Current.Properties ["sessionToken"] = userInfo ["sessionToken"].ToString ();
await Application.Current.SavePropertiesAsync ();
} else {
}
和我的登录代码:
var userInfo = await parseAPI.loginUser (usernameEntry.Text, passwordEntry.Text);
if (userInfo ["error"] == null) {
Application.Current.Properties ["userId"] = userInfo ["objectId"].ToString ();
Application.Current.Properties ["sessionToken"] = userInfo ["sessionToken"].ToString ();
await Application.Current.SavePropertiesAsync ();
//loginstrings
String theUserString = usernameEntry.Text.ToUpper ();
String theUserString = passwordEntry.Text.ToUpper ();
//registerstrings
String theUserStringRegister = yourPassword.Text.ToUpper ();
String theUserStringRegister = yourEmail.Text.ToUpper ();
Navigation.PopModalAsync ();
} else {
await DisplayAlert ("Wrong password", "Try again", "Ok");
}
您将用户的输入直接传递给注册和登录功能,而无需修改大小写。 您需要强制它们使用相同的大小写,并在整个代码中始终如一地使用它。
string userName = yourEmail.Text.ToLower();
// always register the user using the lcase namne
var userInfo = await parseAPI.signupUser (userName, yourPassword.Text);
// then when logging in, always use the lcase name for consistency
var userInfo = await parseAPI.loginUser (userName, passwordEntry.Text);
你可以用密码做同样的事情,但密码不区分大小写是很不寻常的 - 我不推荐它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.