Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用截击stringreuqest时未发送POST数据_Php_Android_Api_Android Studio - Fatal编程技术网

Php 使用截击stringreuqest时未发送POST数据

Php 使用截击stringreuqest时未发送POST数据,php,android,api,android-studio,Php,Android,Api,Android Studio,我仍然是android应用程序开发的新手,这个问题已经存在很长时间了。我正在尝试创建一个注册页,但它没有发送post数据。这是我的代码: 注册活动 public class RegisterActivity extends AppCompatActivity { private EditText name, email, password, c_password; private Button register_button; private ProgressBar l

我仍然是android应用程序开发的新手,这个问题已经存在很长时间了。我正在尝试创建一个注册页,但它没有发送post数据。这是我的代码:

注册活动

public class RegisterActivity extends AppCompatActivity {

    private EditText name, email, password, c_password;
    private Button register_button;
    private ProgressBar loading;
    private static String URL_REGIST = "http://192.168.1.6:7777/androidregistertest/register.php";

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

        loading = findViewById(R.id.loading);
        name = findViewById(R.id.name);
        email = findViewById(R.id.email);
        password = findViewById(R.id.password);
        c_password = findViewById(R.id.c_password);
        register_button = findViewById(R.id.register_button);

        register_button.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                Regist();
            }
        });
    }

    private void Regist() {
        loading.setVisibility(View.VISIBLE);
        register_button.setVisibility(View.GONE);

        final String name = this.name.getText().toString().trim();
        final String email = this.email.getText().toString().trim();
        final String password = this.password.getText().toString().trim();

        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(RegisterActivity.this, "Register Success", Toast.LENGTH_SHORT).show();
                        }

                    }
                    catch (JSONException e){
                        e.printStackTrace();
                        Toast.makeText(RegisterActivity.this, "Register Error! " + e.toString(), Toast.LENGTH_SHORT).show();
                        loading.setVisibility(View.GONE);
                        register_button.setVisibility(View.VISIBLE);
                    }
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(RegisterActivity.this, "Register Error 2! " + error.toString(), Toast.LENGTH_SHORT).show();
                    loading.setVisibility(View.GONE);
                    register_button.setVisibility(View.VISIBLE);
                }
            })

        {
            @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 super.getParams();
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }
}
当我单击register按钮时,响应包含以下错误消息

注意:第3行的D:\xampp-7\htdocs\androidregistertest\register.php中的未定义索引:name
注意:未定义索引:第4行D:\xampp-7\htdocs\androidregistertest\register.php中的电子邮件
注意:第5行的D:\xampp-7\htdocs\androidregistertest\register.php中的未定义索引:密码


为什么不发送post数据?

一切似乎都是正确的,除了一件事,您已将参数添加到映射中,但没有将其返回到volly以进行发送。 您的方法需要一行代码才能更改

@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 super.getParams(); //Change this 
            return params; //to this
        }
@覆盖
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
参数put(“名称”,名称);
参数put(“电子邮件”,电子邮件);
参数put(“密码”,密码);
返回super.getParams();//更改此值
将params;//返回到此
}

最好的祝愿。

一切似乎都是正确的,除了一件事,您已将param添加到Map,但没有将其返回到volly以发送它。 您的方法需要一行代码才能更改

@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 super.getParams(); //Change this 
            return params; //to this
        }
@覆盖
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
参数put(“名称”,名称);
参数put(“电子邮件”,电子邮件);
参数put(“密码”,密码);
返回super.getParams();//更改此值
将params;//返回到此
}
致以最良好的祝愿