2012-02-16 33 views
0

我在过去几天一直在搜索SO,并且发现了许多关于我的问题的Q/A,但尚未解决。我正在尝试制作一个Android应用程序,它可以将4个(也许是5个)数据发送到我的网络服务器上的一个php脚本。我相信这段代码是这样的:如何查看/使用由http POST发送的数据?

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 

      } 

我的问题是这样的:Hows是否发送这个数据?我认为这将是这种格式 http://www.mydomain.com/myscript.php?name=name&var1=var1&var2=var2&var3=var3

所以我想这myscript.php会工作:

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

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

我已经尝试了很多不同的方式,比如$名称=的file_get_contents('PHP://input')尝试查看正在接收的内容,但没有运气。

我是新来的android和php,所以我想我错过了一些很明显的东西,因为所有其他的Q/A都似乎跳过了'如何检索和使用发送的数据'。我需要的PHP脚本所做的就是抓住4个变量,然后像上面一样写入一个新文件。

我也想知道如何获得回应的应用程序只是说数据已收到。我认为这是由变量'响应'处理,但我无法测试。

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

回答

3

数据通过POST方法发送,而不是GET。所以,所有的数据都在$_POST

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

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

谢谢。我已经使用了$ _POST,它使用'echo',但由于某种原因,它不会创建一个名为newfile.php的新文件。然而,我有其他的PHP文件在相同的目录中使用'相同'的代码,他们会愉快地创建该文件,如果它不存在。如果文件存在且可写,则可以使用,但否则会返回错误。任何想法? – lifeIsGood 2012-02-16 20:35:03

+0

您是否拥有该文件夹的写入权限? _返回一个错误_,什么错误? – 2012-02-16 20:38:36

+0

谢谢你。通过将整个文件夹的权限设置为“可写”,现在它正在工作。奇怪的是,和以前不一样,另一个PHP脚本能够打开并创建一个文件,如果它不存在。 – lifeIsGood 2012-02-16 20:52:51