2017-05-08 9 views
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リクエストですスタックのオーバーフローが、私はコードが動作しますが、いいえと思った...あなたは私を助けてくれますか?

+0

「HttpUrlConnection」を「HttpsUrlConnection」に変更してください。 –

+0

例外はありますか? –

+0

どのようなエラーが表示されますか? PHPはまったく実行されていますか?あなたはPHPスクリプトのjson出力を読んでいるようです。 – YvesLeBorg

答えて

0

だから私はf ***がAndroidのPOSTで何が起こったのかわかりません。私の問題を解決するために、私はちょうどPHPスクリプトがデータを回復し、最終的にデータベースに格納することができるようにデータでURLを請求するwebviewを呼び出した...

それはタフでしたが、

wb.getSettings().setJavaScriptEnabled(true); 
    wb.getSettings().setDomStorageEnabled(true); 
    wb.loadUrl("http://yourscript.php?"+data); 
関連する問題