【问题标题】:Sending two values into php webpage with java使用java将两个值发送到php网页中
【发布时间】:2015-12-14 23:42:33
【问题描述】:

我正在尝试将两个字符串值从我的 java 程序发送到我的 php 页面,但我似乎很难弄清楚这一切是如何工作的。

public static void main (String args[]) throws IOException{

    Scanner input = new Scanner (System.in);

    String sampleValue = input.next();
    String sampleValue1 = input.next();

    URL url = new URL("http://woah.x10host.com/randomfact.php");
    String result = "";
    String data = "fName=" + URLEncoder.encode(sampleValue, "UTF-8");
    String id = "lName=" + URLEncoder.encode(sampleValue1, "UTF-8");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    try {

        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(false);
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

        // Send the POST data
        DataOutputStream dataOut = new DataOutputStream(connection.getOutputStream());

        dataOut.writeBytes(id);
        dataOut.writeBytes(data);
        dataOut.flush();

        System.out.println("Data has been posted");
        dataOut.close();

        BufferedReader in = null;
        try {
            String line;
            in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } finally {
            if (in != null) {
                in.close();
            }
        }

    } finally {
        connection.disconnect();
        System.out.println(result);

    }

}

}

我的 PHP 代码是

<?php
$conn = mysqli_connect("localhost","woahx10h_funfact","spk","woahx10h_woah");

// CHECK CONNECTION
    if (mysqli_connect_errno())
     {
         echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


$value_data = $_POST['fName'];
$value_id = $_POST['lName'];

echo $value_data;
echo $value_id;

$conn->close();

?>

但是,每次我运行 java 程序时,数据和 id 的值似乎都存储在 $value 中。我希望数据中的值存储在 $value_data 中,而 x 中的值存储在 $value_id 中

【问题讨论】:

    标签: java php mysql


    【解决方案1】:

    您必须在每两个参数之间添加与号 (&)。所以在这种情况下,你所要做的就是像这样编辑你的代码:

    ...
    
    dataOut.writeBytes(id);
    dataOut.writeBytes("&");
    dataOut.writeBytes(data);
    
    ...
    

    如果您想在请求中添加另一个参数,则必须添加另一个&符号,然后是参数,例如:

    ...
    
    dataOut.writeBytes(id);
    dataOut.writeBytes("&");
    dataOut.writeBytes(data);
    dataOut.writeBytes("&");
    dataOut.writeBytes(parameter3);
    
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-07
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      相关资源
      最近更新 更多