首页 > 解决方案 > 从 android 应用程序向服务器发送数据时发生错误

问题描述

我正在将数据从 android 应用程序发送到 PHP 服务器,但我遇到了错误:

注意:未定义索引:第 4 行 E:\xampp\htdocs\server.php 中的名称

注意:未定义索引:第 5 行 E:\xampp\htdocs\server.php 中的电子邮件

我已经采取了两个编辑文本,并且在单击按钮时应该将编辑文本中输入的数据发送到服务器。因此,我为此目的制作了一个方法,并在单击的侦听器上的按钮中调用它

我不知道为什么我没有在服务器中接收数据我的代码没有问题请帮助我!

我的客户代码是

public class MainActivity extends AppCompatActivity {

    EditText ed_name, ed_email;
    Button btn;
    String url = "http://xxxxxxx/server.php";//hidden
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ed_name=(EditText)findViewById(R.id.editText);
        ed_email=(EditText)findViewById(R.id.editText2);
        btn=(Button)findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                insert();
            }
        });
    }

    public void insert() {


        StringRequest MyRequest = new StringRequest(Request.Method.POST, url,

                new Response.Listener<String>() {

                    @Override
                    public void onResponse(String response) {

                        Toast.makeText(getApplication(), response, Toast.LENGTH_SHORT).show();
                        //Toast.makeText(MainActivity.this,"There is some error on server side",Toast.LENGTH_LONG).show();
                    }

                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {

                Toast.makeText(MainActivity.this, error + "", Toast.LENGTH_LONG).show();
            }
        }) {
            protected Map<String, String> getparams() throws AuthFailureError {
                Map<String, String> mydata = new HashMap<String, String>();
                String name=ed_name.getText().toString();
                String email=ed_email.getText().toString();
                mydata.put("name", name);
                mydata.put("email", email);
                return mydata;
            }
        };
        RequestQueue MyRequestQueue = Volley.newRequestQueue(this);
        MyRequestQueue.add(MyRequest);
    }
}

而服务器端代码是:

<?php
    $name = $_POST['name'];//i am retrieving data where ['name]' is key 
    $email = $_POST['email'];//Here ['email '] is the key i have given in android code

    echo $name;
    echo $email;
?>
    

标签: phpandroid

解决方案


推荐阅读