我使用了一个php Web服务,在该服务中,如果true,我将匹配登录凭据,如果false,我将通过"failure"。
在java代码中,我匹配结果数据并应用条件,何时打开另一个活动,何时显示错误凭据的toast。
但当我输入错误或正确的凭据时,它总是会打开另一个活动。从不显示烤面包
所以请帮帮我,我该怎么办?
我的代码
@Override
protected void onPostExecute(String result) {
String str = result.trim();
if(str=="success") {
startActivity(new Intent(Login.this,MainActivity.class));
}
else{
Toast.makeText(Login.this, "Either Username or Password is not correct", Toast.LENGTH_SHORT).show();
}
dialog.dismiss();
}
我的php代码
$sql = "select * from master_login_tbl where user_id = '$user' or email='$user' and password = '$pass' ";
$result = mysql_query($sql);
$check = mysql_fetch_array($result);
$num_of_rows = mysql_num_rows($result);
if($num_of_rows > 0){echo "success";}else{echo 'failure';}
您需要使用str.equals("success")
,将Java中的字符串与==
进行比较是不起作用的,因为您比较的是对象而不是字符串。
您也可以使用equalsIgnoreCase("success)"
,顾名思义,它会忽略任何大写或小写的差异。