我試圖通過一個變量從android到php,而在php中接收值不會在空白後獲得值。我傳遞變量一樣,在將變量從android傳遞到php時沒有獲得空格的值
private void register(String txtname) {
String urlSuffix = "?name="+txtname;
Log.d("unmae",txtname);
class RegisterUser extends AsyncTask<String, Void, String>{
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(UserRegister.this,"Please Wait","Loading...");
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
}
@Override
protected String doInBackground(String... params) {
String s = params[0];
BufferedReader bufferReader = null;
try {
URL url = new URL(REGISTER_URL+s);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
bufferReader=new BufferedReader(new InputStreamReader(con.getInputStream()));
String result;
result = bufferReader.readLine();
return result;
} catch (Exception e) {
return null;
}
}
}
RegisterUser ru = new RegisterUser();
ru.execute(urlSuffix);
}
在PHP端
$uname = $_GET['name'];
雖然日誌變量,輸出是這樣 如:unmae:first second
WHIE在PHP端回聲它像這樣出現
例如:$uname = $_GET['name'];
echo $uname;
output:first
出現這種情況,因爲在參數,你不能有一個空間,我認爲,試圖取代有標記的空間,然後在PHP中發現,符號,使它是一個空間 –
將其替換爲「%20」 –
目前還不清楚在變量名稱或其值中是否有空格。你沒有顯示你在做什麼。爲什麼我們必須猜測?如果它在'txtname'中,那麼URL參數及其值就有其他'禁止'字符。你首先要對整個字符串進行編碼。 – greenapps