2012-02-16 5 views
0

私は最後の数日間はSOを検索していて、問題に関して多くのQ/Aを見つけましたが、解決しようとしていません。私は私のウェブサーバ上のPHPスクリプトに4個(多分5個)のデータを送るAndroidアプリを作ろうとしています。私はこのコードがそうすると信じています: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 

      } 

私の質問は次のとおりです:このデータは送信されますか?

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

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

私は= $名のように、のfile_get_contents( 'PHPをさまざまな方法の多くを試してみました:私は、だから私はこのmyscript.phpが働くだろうと思ったことは、この形式で http://www.mydomain.com/myscript.php?name=name&var1=var1&var2=var2&var3=var3

だろうと思いました//input ')を使って何が受信されているのか見てみましょう。

私はアンドロイドとPHPには新しいので、他のすべてのQ/Aは「送信されたデータを取得して使用する方法」をスキップしているように見えます。 PHPのスクリプトが必要とするのは、4つの変数を掴んで、上記のように新しい変数を書き込むことだけです。

私はまた、データが受信されたという単純な応答をアプリケーションに戻す方法を知りたいと思います。私はそれが変数 '応答'によって処理されると推測しますが、まだそれをテストすることはできません。

誰かが正しい方向に向かうことができますか? ありがとう

答えて

3

データはGETではなくPOSTメソッドで送信されます。したがって、すべてのデータは$_POSTです。

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

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

ありがとうございました。代わりに$ _POSTを使用しました。これは 'echo'で動作しますが、何らかの理由でnewfile.phpという新しいファイルを作成しません。しかし、私は同じディレクトリに同じコードを使って他のPHPファイルを持っていて、ファイルが存在しなければ喜んで作成します。ファイルが存在し、書き込み可能であれば動作しますが、それ以外の場合はエラーを返します。それのための任意のアイデア? – lifeIsGood

+0

そのフォルダに対する書き込み権限がありますか? _エラーを返します、何のエラー? –

+0

ありがとうございます。フォルダ全体の権限を「書き込み可能」にすることで、現在は機能しています。しかし、以前はそうではなかったように、奇妙なことに、まだ別のPHPスクリプトが存在しなければ、ファイルを作成して作成することができました。 – lifeIsGood

関連する問題