Sac Yac Ответов: 1

Вход в систему Android с помощью PHP и mysql


Я разрабатываю приложение для android с использованием php и mysql. Этот логин имеет ограничение, когда только активные пользователи могут войти в систему. В таблице mysql столбец active имеет значение 1 или 0 для active и inactive соответственно. Проблема здесь в том, что когда значение active установлено в 1, оно отображается неактивным. Вот мой код ниже

Что я уже пробовал:

Андроид
Код внутри метода ответа залпа
String userId = jObj.getString("user_id");
String userType = jObj.getString("type");
String userActive = jObj.getString("active");

if (userId != "null") {

    switch (userType)
    {
    case "1":
        Toast.makeText(getApplicationContext(),"Access Denied", Toast.LENGTH_LONG).show();
        break;
    default:
        session.setLogin(true);
        session.setType(userType,userId);
        if(userActive=="1"){
            Intent dashB = new Intent(login_activity.this,MainDashBoard.class);
            startActivity(dashB);
            finish();
        }
        else{
            Toast.makeText(getApplicationContext(),"Not active", Toast.LENGTH_LONG).show();
        }
        break;
    }
} else {
    String errorMsg = jObj.getString("error_msg");
    Toast.makeText(login_activity.this,"Invalid Username or Password", Toast.LENGTH_LONG).show();

Afzaal Ahmad Zeeshan

Помимо того, что сказал Ричард, будет ли это возвращать "null" или null? Есть разница.

1 Ответов

Рейтинг:
6

Richard MacCutchan

Вы не должны использовать == оператор для строк, используйте Строку.равно[^].


Afzaal Ahmad Zeeshan

5ед.

Sac Yac

О...Хорошо, спасибо. Но теперь один большой вопрос заключается в том, почему мой ответ volley пуст всякий раз, когда пользователь вводит неправильное имя пользователя и пароль? Вот php код

if (isset ($user)) {
// пользователь найден
$response ["error"] = FALSE;
$response ["user_id"] = $user ["uid"];
$ответ["тип"] = $пользователь["типа"];
$ответ["активный"] = $пользователь["активный"];
Эхо json_encode($ответ);



} еще {
// пользователь не найден
// echo json с ошибкой = 1
$response ["error"] = TRUE;
$response ["user_id"] = " null";
$response ["error_msg"] = " неверный адрес электронной почты или пароль!";
Эхо json_encode($ответ);


}
я даже записал вывод в текстовый файл того, каким будет его объект json...вот результат json ниже-

{"error": true, "user_id":"null","error_msg": "неверный адрес электронной почты или пароль!"}

Richard MacCutchan

Вам нужно будет отладить PHP-код, чтобы понять, почему, и проверить, где значения не возвращаются правильно.

Sac Yac

Спасибо за помощь. На самом деле ответ ожидал каких-то значений. Я действительно решил эту проблему.