从 Android 应用程序登录不适用于 PHP/MySQL 后端

马尼什塔帕

我实际上正在制作一个登录应用程序,但我无法登录。这是我的 mainactivity.java 我可能做错了什么?

  ppublic class MainActivity extends AppCompatActivity {
private EditText email, password;
private Button btn_login;
private ProgressBar loading;
private static String URL_LOGIN ="http://itsolutionsnepal.com/attendance/api/employeeLogin";

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

    loading= findViewById(R.id.loading);
    email = findViewById(R.id.editTextUserEmail);
    password = findViewById(R.id.editTextPassword);
    btn_login = findViewById(R.id.buttonRegister);


    btn_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String mEmail = email.getText().toString().trim();
            String mPassword = password.getText().toString().trim();

            if (!mEmail.isEmpty() || !mPassword.isEmpty()) {
                Login(mEmail, mPassword);
            }else{
                email.setError("Please Enter Email");
                password.setError("Please Enter Password");

            }


        }
    });

}

private void Login(final String email, final String password) {
    loading.setVisibility(View.VISIBLE);
    btn_login.setVisibility(View.GONE);

    StringRequest stringRequest = new StringRequest(Request.Method.POST,URL_LOGIN,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    try {
                        JSONArray jsonArray = new JSONArray(response);

                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject object = jsonArray.getJSONObject(i);
                            String name = object.getString("_first_name").trim();
                            String email =  object.getString("_email").trim();

                            //  JSONObject jsnobject = new JSONObject(response);
//                            JSONArray jsonArray = jsnobject.getJSONArray("");
                           //JSONObject object = jsonArray.getJSONObject(i);


//                            JSONObject jsonResponse = new JSONObject(response);
//
//                            JSONArray jsonArray = jsonResponse.getJSONArray("");

                        //JSONObject jsonObject = new JSONObject(response);
                       // Log.d("JSON", jsonObject.toString());
                        //String success = jsonObject.getString("");
                       // JSONArray jsonArray = jsonObject.getJSONArray("");
                     //   JSONArray jsonArray = new JSONArray(response);
                       // JSONObject jsonObject = new JSONObject("");
                     //   String code = jsonObject.getString("");

  //                            if (success.equals("1"))
   //                            {

  //                                    String name = 
 object.getString("_first_name").trim();
//                                    String email = 
  object.getString("_email").trim();


 //                                    Toast.makeText(MainActivity.this, 
 "Success 
 Login \nYour name: "+name+"\nYour Email: "+email,
 //                                            Toast.LENGTH_LONG).show();
                            System.out.println("Value of response - " + 
response);

                            System.out.println("First Name : " + name);
                            System.out.println("Email : " + email);
                                Intent intent = new Intent(MainActivity.this, HomeActivity.class);
                                intent.putExtra("name",name);
                                intent.putExtra("email", email);
                                startActivity(intent);
                            loading.setVisibility(View.GONE);




                            //}

                        }


                    } catch (JSONException e) {
                        e.printStackTrace();
                        loading.setVisibility(View.GONE);
                        btn_login.setVisibility(View.VISIBLE);
                        Toast.makeText(MainActivity.this, "Error" +e.toString(),
                                Toast.LENGTH_SHORT).show();

                    }

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(MainActivity.this, "Error" +error.toString(),
                            Toast.LENGTH_LONG).show();
                    loading.setVisibility(View.GONE);
                    btn_login.setVisibility(View.VISIBLE);

                }
            })
    {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("_email", email);
            params.put("_password", password);
            return params;
        }
    };
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);

}

这是我的 json 响应 在此处输入图片说明

这是我的php代码:

在此处输入图片说明

这是我的错误日志:

在此处输入图片说明

我正在为我的大学项目开发​​这个。我的代码有什么问题?

编辑:这是邮递员的全屏截图

在此处输入图片说明

0x2

截击请求中的键与您的邮递员屏幕截图相矛盾。密码和电子邮件之前,您要添加下划线,因为你都可以从你的PHP代码字符串响应:Login credential wrong please try again!我会建议您在响应中添加状态码并根据错误进行解析

  @Override
        protected Map<String, String> getParams(){
            Map<String, String> params = new HashMap<>();
            params.put("email", email);
            params.put("password", password);
            return params;
        }

同样使用 MD5 也不安全 在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

适用于Android应用程序的后端

HTTPS请求不适用于android应用程序

Android应用程序后端

主屏幕应用程序快捷方式不适用于android。应用未安装

找不到XF绑定..属性,仅适用于我的Android应用程序,而不适用于iOS

Android应用程序中的Firebase云消息传递仅适用于通知而不适用于数据消息

需要关于 kivy mapview 的帮助,适用于 Windows,但不适用于 android,应用程序无法启动

Android 模拟器主机文件不适用于 android 应用程序

NativeScript 应用程序名称中的撇号不适用于 Android/ios 部署

更改应用程序语言(本地化)不适用于api 23 android

为什么广播接收器不适用于服务应用程序 android?

为什么Android应用程序限制不适用于Google Directions API?

Svelte应用程序不适用于Android 6.0.1或更高版本

单击不适用于用户在 android 应用程序中添加的小部件

在Android模拟器中安装应用程序显示“此应用程序不适用于您的设备”

谷歌登录不适用于使用电容器生成的 ionic android 移动应用程序 - 抛出异常为 10

带有Facebook登录名的Android应用程序不适用于除我的手机以外的其他手机

Docker Compose适用于Java后端和python前端应用程序

哪些适用于移动应用程序后端的AWS服务?

Android 1.6:“ android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null不适用于应用程序”

带有Django后端自动登录会话的Android应用程序前端

适用于Android的Qt:更改应用程序图标

适用于Android应用程序的RESTful Web服务

调试适用于Android平台的离子应用程序

适用于Android应用程序的Java多维数组

适用于桌面/ios/android 的 Angular 应用程序

适用于Android应用程序的Meteor Backend的OpeningHandshakeException

适用于应用程序的Android测试代码?

适用于本机Android应用程序的Cordova插件