0

ユーザーから名前、番号、メールアドレスを取得して自分のウェブサイトに送信する基本的なフォームを Android アプリで作成しようとしています。これらの詳細を単純なcsvファイルに保存するために、サーバー側に基本的なphpスクリプトがあります。詳細をサーバーに送信する Android コード:

private void sendCredentials(String name, String number, String emailID) {

//code to send to server should begin here.
        HttpClient hc = new DefaultHttpClient();
        HttpPost hp = new HttpPost("http://www.mywebsite.com/takeDetails.php");

        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("name", name));
            nameValuePairs.add(new BasicNameValuePair("number", number));
            nameValuePairs.add(new BasicNameValuePair("email", emailID));
            hp.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            // Execute HTTP Post Request
            HttpResponse response = hc.execute(hp);
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
        } catch (IOException e) {
            // TODO Auto-generated catch block
        }
}

サーバー側では、php スクリプト:

<?php

 $filename="userCredentials.txt";
 $name = $_POST['name'];
 $number = $_POST['number'];
 $email = $_POST['emailID'];
 $fp = fopen($filename, "a");
 $str = "new," . $name . "," . $number . "," $email . "n";
 fwrite($fp, $str);
 fclose($fp);
 $msg = "<h1> Your data has been saved. </h1>";
 echo $msg; ?>  

私の問題:
私の Web サイトのファイル マネージャーに、作成される userCredentials.txt というファイルがありません。

私の質問:
1. userCredentials.txt が作成されないのはなぜですか?
2. PHP で作業したことがないので、上記のコード スニペットは正しい方法ですか?

4

1 に答える 1

1

連結時に、変数の.前に (ドット)を忘れました。$emailそれは適切にPARSE_ERROR. そのため、スクリプトはスキップされました。

変化する:

$str = "new," . $name . "," . $number . "," $email . "n";

に:

$str = "new," . $name . "," . $number . "," . $email . "n";

\n行末に改行文字を追加したい場合は、PHP_EOL代わり"n"$str.

于 2013-04-19T03:39:37.693 に答える