dougan6402 2019-04-14 06:45
浏览 83
已采纳

无法检测从android发送的php中的Post参数

I am trying to populate the Postgres database through an android application. I am using Volley and Php to sent the data to the Postgres database. The Post request works well through browser i.e. database gets populated, which is checked through Postman extension of chrome. But when I do it through android I am unable to do so. I do not get any error as well.

Please find the below code where I send the x and y post parameters to the URL.

submitbutton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

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

                builder.setTitle("Server Response");
                builder.setMessage("Response: "+response);
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(Soil_Info.this, "Clear fields here", Toast.LENGTH_SHORT).show();
                    }
                });

                AlertDialog alertDialog =builder.create();
                alertDialog.show();
                Toast.makeText(Soil_Info.this, "Successfull", Toast.LENGTH_SHORT).show();

            }
        }

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

                Toast.makeText(Soil_Info.this, "Error Occured", Toast.LENGTH_SHORT).show();
                error.printStackTrace();

            }
        }){

            @Override
            protected Map<String, String> getParams() throws AuthFailureError {

                Map <String,String> params=new HashMap<>();

                params.put("x", "aisha");
                params.put("y", "shah");
                return params;
            }
        };


        MySingleton.getInstance(Soil_Info.this).addTorequestque(stringRequest);

        stringRequest.setRetryPolicy(new RetryPolicy() {
            @Override
            public int getCurrentTimeout() {
                return 50000;
            }

            @Override
            public int getCurrentRetryCount() {
                return 50000;
            }

            @Override
            public void retry(VolleyError error) throws VolleyError {
            }
        });

Below is the PHP code

    <?php
require "connection.php";


if(isset($_REQUEST["x"]) && isset($_REQUEST["y"]))
{
    $names = $_REQUEST["x"];
    $surnames = $_REQUEST["y"];


    // echo $names ;
    // echo $surnames ;

    $query = "INSERT INTO emp (first, last) VALUES ('$names','$surnames')";
    echo $query;

    $result = pg_query($conn, $query);

    if (!$result) {
        die('An error occurred during query.');
    } else {
      echo ".....Successfull.....";
    }   
   }
  else
   {
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    // echoing JSON response
    echo json_encode($response);
  }



pg_close($conn); 

?>

String URL = "http://192.168.1.107/test.php";

  • 写回答

1条回答 默认 最新

  • douliang1900 2019-04-14 06:57
    关注

    You are running your project in a virtual host, which is accessible to your browser, postman etc application. But it is not accessible to your phone to make a valid request.

    What you can do it is:

    1. Deploy your server project on a real server, which is a lot of work, but will worth it. Then you can access your api via a real ip address

    2. User emulator instead your phone

    3. Make your localhost accessible for you lan, so that you can access it via you phone. take a look at this answer for details

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?