Je développe un code androïde pour transmettre et recevoir entre les applications Android et PHP. La partie reçue qui est basée sur JSON, fonctionne correctement. J'ai testé manuellement la variable set dans le code PHP. Cependant, quand j'ai posté la variable de android à php, il ne peut pas le recevoir. Quelqu'un peut me dire le problème?Impossible de publier la variable du client android au serveur php
Répondre
@Override
protected String doInBackground(Void... params) {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("username", <Your username here>));
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(<Your URL to php file>);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
HttpResponse response = httpclient.execute(httppost); // Execute Post to URL
String st = EntityUtils.toString(response.getEntity()); // This is the result from php web
Log.d(TK_Configuration.TAG, "In the try Loop" + st); // Still executing
finalResult = st; // You should register a variable for finalResult;
} catch (Exception e) {
Log.d(TK_Configuration.TAG, "Connection error : " + e.toString());
}
return "OK";
}
protected void onPostExecute(String result) {
super.onPostExecute(result);
// After that, you will have final result and process to do with it here
// Below is my simple code, please change it
if(finalResult.equals("1")){
Toast.makeText(context, context.getResources().getString(R.string.upload_bike_success), Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(context, context.getResources().getString(R.string.upload_bike_fail), Toast.LENGTH_SHORT).show();
}
// End
}
S'il vous plaît essayer cela, et un point de plus, vous devez utiliser la bibliothèque Gson pour décoder JSON rapidement à Java Object après avoir obtenu chaîne JSON du serveur.
Remarque: Remplacez TK_Configuration.TAG < < par votre TAG.
vous avez commenté cette ligne, cela signifie que vous n'êtes pas de passage des valeurs d'Android
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
Supprimer le commentaire de cette ligne.
Encore une chose, vous passez username
mais à partir de PHP, vous essayez d'obtenir la valeur $user = $_POST['name'];
, les deux noms doivent être identiques.
J'ai modifié $ user = $ _POST ['nom d'utilisateur']; et décommenter httppost.setEntity (new UrlEncodedFormEntity (nameValuePairs)); Cependant, cela ne fonctionne pas –
essayez d'imprimer 'username' en code php et vérifiez si vous l'obtenez ou non. –
devrais-je echo $ utilisateur dans mon fichier php? où je devrais le voir dans Android ou navigateur? –
Qu'est-ce que Tag TK_Configuration? –
Erreur: (243, 2) erreur: atteint la fin du fichier lors de l'analyse –
Salut, j'ai vu que vous avez un mauvais fichier de demande http://www.oobac.com/app/insert-db.php << ce fichier sert à insérer données à la base de données? Droite? Si vous voulez obtenir des données de la base de données, vous utilisez amir.php << Right? –