AndroidからPHPにJSONとしていくつかのSTRING変数を送信しようとしています。インターネット上のガイドの 1 つを使用してこれを達成しましたが、残念ながら機能せず、StackOverflow の他の同様の質問を使用しても解決できません。
これが私のAndroidコードです:-
JSONObject jsonObject= new JSONObject();
JSONArray jsonArray=new JSONArray();
public class sendData extends AsyncTask<String, String, Void> {
@Override
protected Void doInBackground(String... params) {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://bdp.site40.net/sendRegData.php");
try {
HttpEntity httpEntity = new StringEntity(jsonArray.toString());
httpPost.setEntity(httpEntity);
httpClient.execute(httpPost);
}
catch (IOException e) {
}
return null;
}
}
public void onClickSubmitButton(View view) throws JSONException {
jsonObject.put("name",name);
jsonObject.put("blood",blood);
jsonObject.put("cell",cell);
jsonObject.put("email", email);
jsonObject.put("address",address);
jsonObject.put("country",country);
jsonObject.put("state",state);
jsonObject.put("city",city);
jsonArray.put(jsonObject);
new sendData().execute();
}
そして、ここに私のPHPコードがあります:-
<?php
$json = file_get_contents("php://input");
$data = json_decode($json);
$name = $data[0]->name;
$blood = $data[0]->blood;
$cell = $data[0]->cell;
$email = $data[0]->email;
$address = $data[0]->address;
$country = $data[0]->country;
$state = $data[0]->state;
$city = $data[0]->city;
$con = mysql_connect("","","") or die(mysqli_connect_error());
$db = mysql_select_db("",$con) or die(mysqli_connect_error());
mysql_query("INSERT INTO Donors(Name,Blood,Mobile,E-Mail,Address,Country,State,City)VALUES('$name','$blood','$cell','$email','$address','$country','$state','$city')");
?>
少し実験した後、問題がPHPスクリプトにデータを送信する場所および/またはPHPスクリプトによってデータが受信される方法に問題があるという事実に絞り込みました。誰でも問題を探して修正できますか?ありがとう!
注意点:
- プライバシーのためにMySQLのユーザー名、パスワード、データベース名、およびホストを削除しました(明らかに)。
- 8 つの変数はすべて文字列形式です。