我要检查用户是否输入他们的号码,它将检查数据库中是否存在该号码,如果存在,它将用户提供的密码与数据库中存在的密码匹配,如果两者相同,则将项目屏幕。
这是我的代码:在此代码中,它两次获取密码是第一次显示密码,第二次显示null。
onPressed: () {
if(numberController.text=='' || passwordController.text==''){
Fluttertoast.showToast(msg: "Please Fill all the fields");
debugPrint("Please Fill all");
}
else {
var dbRef = FirebaseDatabase.instance
.reference().child("NewUsers");
dbRef.orderByKey().equalTo(
numberController.text).once().then((
DataSnapshot snapshot) {
debugPrint("hello");
if(snapshot.value !=null){
debugPrint("world");
if (snapshot.value.isNotEmpty) {
var ref = FirebaseDatabase.instance
.reference().child("NewUsers").child(numberController.text);
ref.once()
.then((DataSnapshot snapshot) {
print(snapshot.value);
snapshot.value.forEach((key, values) {
print(values["Password"]);
if(passwordController.text==values["Password"]){
Navigator.pushReplacementNamed(context, '/item');
debugPrint("CorrectPassword");
// Fluttertoast.showToast(msg: "Correct Password");
}else{
debugPrint("InCorrectPassword");
Fluttertoast.showToast(msg: "Incorrect Password");
}
});
});
}
else{
}
}
else{
Fluttertoast.showToast(msg: 'Please Signup First');
debugPrint("Please Signup First");
}
});
}
},
以下是输出: