0

PHP 経由でデータベースに単語を追加しようとすると、両方の文字列の最初の単語だけが追加されます。

このコードを介してテキストを送信します。

public void sendTextToDB() {

valcom = editText1.getText().toString();
valnm = editText2.getText().toString(); 

t = new Thread() {
public void run() {
try {
url = new URL("http://10.0.2.2/HB/hikebuddy.php?function=setcomm&comment="+valcom+"&name="+valnm);
h = (HttpURLConnection)url.openConnection();

if( h.getResponseCode() == HttpURLConnection.HTTP_OK){
is = h.getInputStream();
}else{
is = h.getErrorStream();
}

h.disconnect();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("Test", "CONNECTION FAILED 1");
}
}
};

t.start();

}

ブラウザーでスペースやコンマなどを使用してテストすると、php 関数はすべてのテキストを追加します。文字列は、ダイアログに挿入されたときにも完全な値を返します。

これを修正するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

1

URL エンコードする必要があり、valcomそれらvalnmを URL に入れる場合。

参照java.net.URLEncoder.encode: http://developer.android.com/reference/java/net/URLEncoder.html

url = new URL("http://10.0.2.2/HB/hikebuddy.php?function=setcomm&comment="
              + URLEncoder.encode(valcom)
              + "&name="+ URLEncoder.encode(valnm));
于 2013-10-21T21:55:23.747 に答える