Я использовал php webservice, где я отвечаю за учетные данные, если true передал "успех", если false, я прохожу "сбой".
и в java-коде я сопоставляю данные результата и применяю условие, когда открою другое действие и когда покажет тост за неправильные учетные данные.
Но когда я ставил неправильные или правильные учетные данные, он всегда будет открывать другое действие. никогда не показывать тосты
Пожалуйста, помогите мне, что мне делать?
мой код
@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)"
, который, как следует из названия, игнорирует любые различия в верхнем или нижнем регистре.
String.equals
для сравнения строк?