Войти в приложение для Android с помощью базы данных php и mysql - PullRequest
1 голос
/ 24 сентября 2019

Я пытаюсь войти в систему с четырьмя разными пользователями, используя базы данных php и mysql в Android, и после любого входа пользователя с помощью электронной почты и пароля я пытаюсь получить их информацию (имя, адрес, идентификатор и т. Д.)из базы данных MySQL.И я хочу, чтобы каждый раз, когда кто-либо из этих четырех пользователей входил в систему, он мог видеть свою собственную информацию из базы данных, такую ​​как (Имя, Адрес, Идентификатор и т. Д.)

Я уже пытался отделить этих пользователей оттип пользователя и условие if-else, которое содержится в коде, который я предоставил.

public class LoginActivity extends AppCompatActivity {

    private static final String TAG="LoginActivity";

    private TextView createaccount;
    private EditText Ausername,Apassword;
    private Button LoginButton;
    private Context mContext;


    //URLS class
    //ALL URLs
    URLs urLs;




    RelativeLayout relativeLayout1,relativeLayout2;
    Handler handler=new Handler();
    Runnable runnable=new Runnable() {
        @Override
        public void run() {

            relativeLayout1.setVisibility(View.VISIBLE);
            relativeLayout2.setVisibility(View.VISIBLE);

        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        urLs = new URLs();


        if (SharedPrefManager.getInstance(getApplicationContext()).isLoggedIn()){

            finish();
            Intent intentD = new Intent(LoginActivity.this, DashboardActivity.class);
            startActivity(intentD);
        }

        relativeLayout1 = findViewById(R.id.rel3);
        relativeLayout2 = findViewById(R.id.rel2);
        Ausername = findViewById(R.id.etuname);
        Apassword = findViewById(R.id.etpass);
        LoginButton = findViewById(R.id.loginbutton);
        handler.postDelayed(runnable, 2000);
        createaccount = findViewById(R.id.tvregistration);

        createaccount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent intent = new Intent(LoginActivity.this, Rigistration_Option.class);
                startActivity(intent);

            }

        });


        LoginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                userLogin();


            }
        });
    }
        private void userLogin(){
            //first getting the values
            final String email = Ausername.getText().toString();
            final String password = Apassword.getText().toString();

            //validating inputs
            if (TextUtils.isEmpty(email)) {
                Ausername.setError("Please enter your username");
                Ausername.requestFocus();
                return;
            }

            if (TextUtils.isEmpty(password)) {
                Apassword.setError("Please enter your password");
                Apassword.requestFocus();
                return;
            }

            //if everything is fine

            class UserLogin extends AsyncTask<Void, Void, String> {

                ProgressBar progressBar;

                @Override
                protected void onPreExecute() {
                    super.onPreExecute();
                    progressBar = findViewById(R.id.progressbar);
                    progressBar.setVisibility(View.VISIBLE);
                }

                @Override
                protected void onPostExecute(String s) {
                    super.onPostExecute(s);
                    progressBar.setVisibility(View.GONE);


                    try {
                        //converting response to json object
                        JSONObject obj = new JSONObject(s);

                        //if no error in response
                        if (!obj.getBoolean("error")) {
                            Toast.makeText(getApplicationContext(), obj.getString("message"), Toast.LENGTH_SHORT).show();

                            //getting the user from the response
                            JSONObject userJson = obj.getJSONObject("user");

                            //creating a new user object
                            CA_SIGNUP_GTST user = new CA_SIGNUP_GTST(
                                    userJson.getInt("id"),
                                    userJson.getString("name"),
                                    userJson.getString("email"),
                                    userJson.getString("mobile"),
                                    userJson.getString("address")
                            );

                            //storing the user in shared preferences
                            SharedPrefManager.getInstance(getApplicationContext()).userLogin(user);

                            //starting the profile activity
                            finish();

                            Intent intentD = new Intent(LoginActivity.this, DashboardActivity.class);
                            startActivity(intentD);

                        } else {
                            Toast.makeText(getApplicationContext(), "Invalid username or password", Toast.LENGTH_SHORT).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }

                @Override
                protected String doInBackground(Void... voids) {
                    //creating request handler object
                    RequestHandler requestHandler = new RequestHandler();

                    HashMap<String, String> params = new HashMap<>();

                    URLs urLs = new URLs();

                    if (urLs.equals("cma_login")) {

                        params.put("email", email);
                        params.put("password", password);

                        return requestHandler.sendPostRequest(URLs.CMA_LOGIN, params);
                    }

                    else if (urLs.equals("ca_login")){

                        params.put("email", email);
                        params.put("password", password);

                        return requestHandler.sendPostRequest(URLs.CA_LOGIN, params);

                    }

                    else if (urLs.equals("cs_login")){

                        params.put("email", email);
                        params.put("password", password);

                        return requestHandler.sendPostRequest(URLs.CS_LOGIN, params);

                    }
                    else if (urLs.equals("adv_login")){

                        params.put("email", email);
                        params.put("password", password);

                        return requestHandler.sendPostRequest(URLs.ADV_LOGIN, params);

                    }


                    return null;
                }
            }

            UserLogin ul = new UserLogin();
            ul.execute();
        }
    }

Я ожидаю, что после входа пользователя они смогут увидеть свою собственную информацию, но когда я попытаюсь войти со вторым и третьим пользователемтогда они не могут войти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...