0
AndroidでPOSTリクエストを行うためのチュートリアルがたくさんありましたが、多くのコードが見つかりましたが、実際には動作しません。POST要求が全く機能しない
コードは偽に見えませんが、私はAndroidがかなり奇妙であることはわかりません。
thread = new Thread(new Runnable() {
@Override
public void run() {
try {
String data = URLEncoder.encode("pseudo","UTF-8")+"="+URLEncoder.encode(edit.getText().toString(),"UTF-8");
data += "&"+"score"+"="+URLEncoder.encode(String.valueOf(score),"UTF-8");
URL url = new URL("http://mywebsite/serveur.php?"+data);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(10000);
connection.setConnectTimeout(15000);
connection.setRequestMethod("POST");
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
wr.write(data);
wr.flush();
wr.close();
os.close();
android.util.Log.d("my Tag",data);
connection.connect();
android.content.Intent Npage = new android.content.Intent(SubmiturScore.this, ListOscore.class);
startActivity(Npage);
} catch (IOException e) {
e.printStackTrace();
}
とMySQLデータベースにデータを格納するためのPHPでサーバコード::私はすでににメッセージを掲載している
<?php
$reponse = array();
$pseudo = urldecode($_POST['pseudo']);
$score = intval(urldecode($_POST['score']));
$mysqli = new MySQLi("myhost","myuser","mypassword","mydb");
$result = $mysqli->query("INSERT INTO SIDB (pseudo,score) VALUES('$pseudo',$score)");
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if ($result) {
$response["success"] = 1;
$response["message"] = "SUCCESS!";
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "FAILURE!";
echo json_encode($response);
} ?>
ここ
は私のAndroidでPOSTリクエストですスタックのオーバーフローが、私はコードが動作しますが、いいえと思った...あなたは私を助けてくれますか?
「HttpUrlConnection」を「HttpsUrlConnection」に変更してください。 –
例外はありますか? –
どのようなエラーが表示されますか? PHPはまったく実行されていますか?あなたはPHPスクリプトのjson出力を読んでいるようです。 – YvesLeBorg