Php 如何查看/使用http POST发送的数据?

Php 如何查看/使用http POST发送的数据?,php,android,Php,Android,在过去的几天里,我一直在搜索SO,找到了很多关于我的问题的Q/A,但还没有解决它。我正在尝试制作一个Android应用程序,将4(可能5)条数据发送到我的Web服务器上的php脚本。我相信这条守则是这样做的: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.mydomain.com/myscript.php");

在过去的几天里,我一直在搜索SO,找到了很多关于我的问题的Q/A,但还没有解决它。我正在尝试制作一个Android应用程序,将4(可能5)条数据发送到我的Web服务器上的php脚本。我相信这条守则是这样做的:

 HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://www.mydomain.com/myscript.php");

            try {
                // Add your data
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
                nameValuePairs.add(new BasicNameValuePair("name", "name"));
                nameValuePairs.add(new BasicNameValuePair("var1", "var1"));
                nameValuePairs.add(new BasicNameValuePair("var2", "var2"));
                nameValuePairs.add(new BasicNameValuePair("var3", "var3"));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                // Execute HTTP Post Request
                HttpResponse response = httpclient.execute(httppost);

            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block

            } catch (IOException e) {
                // TODO Auto-generated catch block

            }
HttpClient-HttpClient=newdefaulthttpclient();
HttpPost HttpPost=新的HttpPost(“http://www.mydomain.com/myscript.php");
试一试{
//添加您的数据
List nameValuePairs=新的ArrayList(4);
添加(新的BasicNameValuePair(“名称”);
添加(新的BasicNameValuePair(“var1”、“var1”);
添加(新的BasicNameValuePair(“var2”、“var2”);
添加(新的BasicNameValuePair(“var3”、“var3”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
我的问题是:这些数据是如何发送的?我以为会是这种格式

所以我认为这个myscript.php可以工作:

    <?php
    $name = $_GET['name'];

    $filename = "newfile.php";
    $newfile = fopen($filename, 'w+');
    fwrite($newfile, $name);
    fclose($newfile);
    ?>

我尝试了很多不同的方法,比如$name=file\u get\u contents($name)php://input)试着看看收到了什么,但没有运气

我不熟悉android和php,所以我想我遗漏了一些非常明显的东西,因为so上的所有其他Q/A似乎都跳过了“如何检索和使用发送的数据”。我需要php脚本做的就是抓取这4个变量,并编写一个新文件,如上所述,其中包含这些变量

我还想知道如何得到一个简单地说数据已经收到应用程序的响应。我认为这是由变量“response”处理的,但我还不能测试它

有人能给我指出正确的方向吗?
谢谢

数据是通过POST方法发送的,而不是GET。因此,所有数据都在
$\u POST

<?php
  $name = $_POST['name'];

  $filename = "newfile.php";
  $newfile = fopen($filename, 'w+');
  fwrite($newfile, $name);
  fclose($newfile);
?>

数据通过POST方法发送,而不是GET。因此,所有数据都在
$\u POST

<?php
  $name = $_POST['name'];

  $filename = "newfile.php";
  $newfile = fopen($filename, 'w+');
  fwrite($newfile, $name);
  fclose($newfile);
?>


谢谢。我改用了$\u POST,它与“echo”一起工作,但由于某些原因,它不会创建一个名为newfile.php的新文件。然而,我在同一目录中有其他php文件使用“相同”代码,如果文件不存在,他们会很高兴地创建该文件。如果文件在那里并且是可写的,那么它可以工作,但在其他情况下返回错误。有什么想法吗?你有那个文件夹的写权限吗?返回一个错误,什么错误?谢谢。通过将整个文件夹的权限设置为“可写”,它现在可以工作了。奇怪的是,和以前一样,另一个php脚本能够打开并创建一个不存在的文件。此外,错误是-无法打开流或类似的关于fopen命令的内容如果你解决了设置写入权限的问题,文件权限就是问题。我不能告诉您其他脚本是否与您的不同(例如,它们是否由能够在其中创建文件的另一个用户帐户运行),或者权限标志是否随时间而更改。顺便说一句,我很高兴我帮了你。谢谢。我改用了$\u POST,它与“echo”一起工作,但由于某些原因,它不会创建一个名为newfile.php的新文件。然而,我在同一目录中有其他php文件使用“相同”代码,如果文件不存在,他们会很高兴地创建该文件。如果文件在那里并且是可写的,那么它可以工作,但在其他情况下返回错误。有什么想法吗?你有那个文件夹的写权限吗?返回一个错误,什么错误?谢谢。通过将整个文件夹的权限设置为“可写”,它现在可以工作了。奇怪的是,和以前一样,另一个php脚本能够打开并创建一个不存在的文件。此外,错误是-无法打开流或类似的关于fopen命令的内容如果你解决了设置写入权限的问题,文件权限就是问题。我不能告诉您其他脚本是否与您的不同(例如,它们是否由能够在其中创建文件的另一个用户帐户运行),或者权限标志是否随时间而更改。顺便说一句,我很高兴我帮助了你。