При попытке добавить слова в базу данных через 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 добавляет весь текст. Строки также возвращают полное значение при вставке в диалог.

Как это исправить?

Спасибо.

0
dkgeld 22 Окт 2013 в 01:51

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));
1
tom 22 Окт 2013 в 01:55
Вы также можете рассмотреть возможность передачи этих данных через POST, а не GET.
 – 
Mike Brant
22 Окт 2013 в 01:59