当从Android应用程序发出休息呼叫时,SignUp休息服务无法正常工作

时间:2020-05-29 10:41:58

标签: java android database fragment android-volley

我在android studio中创建项目,并使用Volley进行注册和登录

我可以使用我使用phpMyadmin在数据库中插入的电子邮件和密码登录我的android应用程序,但是在android中注册并不会将电子邮件和密码插入数据库!

这是我的LoginDialog.java代码:

public class LoginDialog extends DialogFragment {
    EditText edtEmail, edtPass;
    Button btnSignup, btnLogin;
    OnSignupClicked onSignupClicked;
    View view;

    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
        view = LayoutInflater.from(getContext()).inflate(R.layout.login_dialog, null);
        setupViews();
        builder.setView(view);
        return builder.create();
    }



    private void setupViews() {
        btnSignup = (Button) view.findViewById(R.id.btn_loginDialog_signup);
        edtEmail = (EditText) view.findViewById(R.id.edt_loginDialog_email);
        edtPass = (EditText) view.findViewById(R.id.edt_loginDialog_pass);
        btnLogin = (Button) view.findViewById(R.id.btn_loginDialog_login);
        btnSignup.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String email = edtEmail.getText().toString();
                String pass = edtPass.getText().toString();
                userSignup(email, pass);

            }
        });

        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                login(edtEmail.getText().toString(), edtPass.getText().toString());
            }
        });


    }

    private void login(final String myEmail, final String pass) {
        String url = "http://192.168.1.101/login.php";
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                if (response.equals("not found")) {
                    Toast.makeText(getContext(), "پست الکترونیک یا رمز عبور اشتباه است", Toast.LENGTH_SHORT).show();
                } else {
                    onSignupClicked.onClicked(response);
                    dismiss();
                }

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

                Log.i("LOG", "onErrorResponse: " + error.toString());
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("email", myEmail);
                params.put("pass", pass);
                return params;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        requestQueue.add(stringRequest);
    }

    public void setOnSignupClicked(OnSignupClicked onSignupClicked) {
        this.onSignupClicked = onSignupClicked;
    }

    private void userSignup(final String email, final String pass) {
        String url = "http://192.168.1.101/signup.php";
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.i("LOG", "onResponse: "+response);
                onSignupClicked.onClicked(response);
                dismiss();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.i("LOG", "onErrorResponse: " + error.toString());
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("email", email);
                params.put("pass", pass);
                return params;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        requestQueue.add(stringRequest);
    }

    public interface OnSignupClicked {
        void onClicked(String email);
    }
}

这是我的signup.php代码:

<?php
include "connect.php";
$email = $_POST["email"];
$pass = $_POST["pass"];
$query = "INSERT INTO user(email,pass)VALUES (:email,:pass)";
$res=$connect->prepare($query);
$res->bindParam(":email",$email);
$res->bindParam(":pass",$pass);
$res->execute();

if($res){
    echo $email;
}else{
    echo "error";
}

请指导我如何修复注册以连接数据库:X

1 个答案:

答案 0 :(得分:0)

您的服务器端代码存在错误。我修好了

<?php
$connection = mysqli_connect('localhost','root','password','user') or die('connecition err');

$email = $_POST['email'];
$pass = $_POST['pass'];
$sql = "INSERT INTO `user` (`email`,`pass`) VALUES ('$email','$pass')";

$query = mysqli_query($connection,$sql);

if($query){
    echo $email;
}else{
    echo "no";
}


?>