我在使用排球和php的android中遇到问题发布请求

问题描述 投票:-1回答:1

我正在尝试使用用户名,电子邮件和密码来制作简单的注册表格。我被这个凌空和PHP困住了。我已经检查了我的代码,但仍然出现错误。我尝试了不同的解决方案。连接成功,但未成功插入数据。当我单击注册按钮时,它显示register2错误!我试图将ip_address_here更改为localhost。

谢谢你!

   public class MainActivity extends AppCompatActivity {

    EditText etName,etPassword,etEmail;
    Button btnRegister;
    TextView tvLogin;
    private static String URL_REGIST = "http://ip_address_here/register.php";

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

        etName=findViewById(R.id.etName);
        etPassword=findViewById(R.id.etPassword);
        etEmail=findViewById(R.id.etEmail);
        btnRegister= findViewById(R.id.btnRegister);
        tvLogin=findViewById(R.id.tvLogin);


        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            Register();
            }
        });

    }

    private void Register() {
        final String name = this.etName.getText().toString();
        final String email = this.etEmail.getText().toString();
        final String password = this.etPassword.getText().toString();

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

                        try{
                            JSONObject jsonobject=new JSONObject(response);
                            String success=jsonobject.getString("success");

                            if(success.equals("1")){
                                Toast.makeText(MainActivity.this, "Register Successfully!", Toast.LENGTH_SHORT).show();
                            }
                        }catch (JSONException e){
                            e.printStackTrace();
                            Toast.makeText(MainActivity.this, "Register Error!" + e.toString(), Toast.LENGTH_SHORT).show();
                        }

                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(MainActivity.this, "Register Error2!", Toast.LENGTH_SHORT).show();
                    }
                })

        {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String,String> params=new HashMap<>();

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

                return params;
            }
        };

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

}

Register.php

   <?php

if ($_SERVER["REQUEST_METHOD"] =="POST"){

  $dbhost="localhost";
  $dbuser="root";
  $dbpass="";
  $dbName="register";
  $conn = mysqli_connect($dbhost,$dbuser,$dbpass,$dbName);

    $name = $_POST["name"];
    $email = $_POST["email"];
    $password = $_POST["password"];

    $password = password_hash($password, PASSWORD_DEFAULT);


    $sql = "INSERT INTO register_table(name, email, password) values ('$name', '$email', '$password');";

    if ( mysqli_query($conn, $sql) ) {
        $result["success"] = "1";
        $result["message"] = "success";

        echo json_encode($result);
        mysqli_close($conn);

    } else {

        $result["success"] = "0";
        $result["message"] = "error";

        echo json_encode($result);
        mysqli_close($conn);
    }
}

php android json mysqli android-volley
1个回答
0
投票

首先,您可以提出问题的错误提示如果您在模拟器上运行,则两个为http://10.0.2.2而且您可以禁用php代码中的错误,以便正确设置json格式希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.