Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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/1/php/264.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/9/blackberry/2.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
使用JAVA(libGdx)进行HttpRequest并使用PHP进行处理_Java_Php_Post_Libgdx_Httprequest - Fatal编程技术网

使用JAVA(libGdx)进行HttpRequest并使用PHP进行处理

使用JAVA(libGdx)进行HttpRequest并使用PHP进行处理,java,php,post,libgdx,httprequest,Java,Php,Post,Libgdx,Httprequest,我真的需要一些帮助。 我正在用libGDX学习HttpRequest,我一直在学习setContent(); 下面是我试图运行的Java代码。它工作得很好,除了一个小问题:它不会将变量“name”和“score”发送到httptest.php文件。但是,php文件正常运行,将空值插入数据库。 Eclipse甚至以空名称和0分向我显示了成功的结果: Status code : 200 Result : connected succesfully inserted and his score: 0

我真的需要一些帮助。 我正在用libGDX学习HttpRequest,我一直在学习setContent(); 下面是我试图运行的Java代码。它工作得很好,除了一个小问题:它不会将变量“name”和“score”发送到httptest.php文件。但是,php文件正常运行,将空值插入数据库。 Eclipse甚至以空名称和0分向我显示了成功的结果:

Status code : 200
Result : connected succesfully inserted and his score: 0
因此,看起来这两个程序可以通信,只是java没有将数据发送到php。 我没有主意了,不知道该怎么办

java代码:

 Map<String, String> parameters = new HashMap<String, String>();
        parameters.put("name", "testname1");
        parameters.put("score", "56");
       HttpRequest request = new HttpRequest(HttpMethods.POST);
       request.setUrl("www.myurl.com/httptest.php");

       request.setContent(HttpParametersUtils.convertHttpParameters(parameters));
    //   request.setContent("name=testname&score=10");

       Gdx.net.sendHttpRequest(request, new HttpResponseListener() {
               @Override
               public void handleHttpResponse(HttpResponse httpResponse) {
                       Gdx.app.log("Status code ", "" + httpResponse.getStatus().getStatusCode());
                       Gdx.app.log("Result ", httpResponse.getResultAsString());
               }
               @Override
               public void failed(Throwable t) {
                       Gdx.app.log("Failed ", t.getMessage());
               }
       });
Map参数=新的HashMap();
参数。put(“name”、“testname1”);
参数。put(“分数”、“56”);
HttpRequest请求=新的HttpRequest(HttpMethods.POST);
setUrl(“www.myurl.com/httptest.php”);
setContent(HttpParametersUtils.convertHttpParameters(parameters));
//setContent(“name=testname&score=10”);
Gdx.net.sendHttpRequest(请求,新的HttpResponseListener(){
@凌驾
公共无效handleHttpResponse(HttpResponse HttpResponse){
Gdx.app.log(“状态代码”,“httpResponse.getStatus().getStatusCode());
Gdx.app.log(“Result”,httpResponse.getResultAsString());
}
@凌驾
公共作废失败(可丢弃的t){
Gdx.app.log(“失败”,t.getMessage());
}
});
php代码:

<?php
$name=$_POST["name"];
$scoreget=$_POST["score"];
$score=(int)$scoreget;
if (is_int ($score))
{
// Create connection
$con=mysqli_connect($mycon);

// Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
  else{echo"connected ";}

$sql= "INSERT INTO scores (name, score, text) VALUES ('$name', '$score','')";
if (!mysqli_query($con, $sql))
    {
    die('Error: ' . mysqli_error($con));
    }else{
    echo "succesfully inserted ".$name." and his score: ".$score;
        }
}else{
echo "Invalid numeric type";
}   
?>

如果您在请求上正确设置了内容类型头,会有帮助吗

request.setHeader("Content-Type", "application/x-www-form-urlencoded");

我想知道,除非存在正确的内容类型,否则PHP是否不会在文章正文中分割参数。

在Java代码中,有一行注释掉了。那行行行吗?不幸的是不行。那是我第一次尝试,我从互联网上找到的一个示例文件中复制了一个,我不明白为什么它不起作用。
file\u是否获得内容('php://input');返回任何内容?我不知道应该在哪里插入:文件\u获取\u内容('php://input');<代码>文件\u获取\u内容('php://input');
返回一个字符串,将其插入php脚本并回显结果。
request.setHeader("Content-Type", "application/x-www-form-urlencoded");