IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Envoyer des données au fichier PHP


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut Envoyer des données au fichier PHP
    Bonjour à tous,

    Je vous explique mon problème:

    J'ai une application qui prend les informations d'une BDD MySQL, j'ai donc un fichier PHP ou je fais les requêtes, je les encode en JSON, et après je gère le reste dans le .java.

    Cependant j'ai une problème de taille dont je n'ai pas trouvé la réponse:

    Je souhaite récupérer dans une EditText ce que l'utilisateur entre pour le passer en paramètre de ma requête, par exemple:

    Il tape dans un l'EditText Renault, je le met dans une variable (pas de problème), mais comment je fais pour après dans la requête du fichier php faire

    SELECT couleur, puissance FROM vehicule WHERE marque = maVariable donc Renault ???

    Je vous remercie,

    Vivien

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Tu passes le parametre au script php par la methode GET ou POST. Exemple :
    monscript.php?marque=renault

    cela se fait a l'aide d'un objet httpClient
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Pourrais-tu m'expliquer un peu plus dans le détail s'il te plait, car je comprend ce que tu dis mais de là à rendre la chose fonctionnelle.

    Merci d'avance

    Vivien

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Merci beaucoup, je vais étudier ça

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Comment je fais pour récupérer les données dans le script PHP ?

  7. #7
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Tout simplement :

    Après il s'agit de questions sur le PHP et tu n'es plus sur le bon forum.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Oui, mais j'étais juste pas sur merci pour vos indications, elles m'ont bien aidées.

    Vivien

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    //Envoi du code Postal au script PHP
     
    HttpPost httppost = new HttpPost("http://monadresse/test_serv.php");
     
    List<NameValuePair>nameValuePairs = new ArrayList<NameValuePair>(); 
     
    nameValuePairs.add(new BasicNameValuePair("codePostal", test));
     
    try {
     
    	httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     
    } catch (UnsupportedEncodingException e) {
     
    	e.printStackTrace();
     
    }
     
    HttpClient httpclient = new DefaultHttpClient();
     
    try {
     
          httpclient.execute(httppost);//Voila, la requête est envoyée
     
    } catch (ClientProtocolException e) {
     
    	e.printStackTrace();
     
    } catch (IOException e) {
     
    	e.printStackTrace();
     
    }
    J'ai donc fait sa sachant que dans la variable test j'ai une code postal (57000 par exemple).

    Après dans le php j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $reponse = $_GET['codePostal'];
     
    echo $reponse;
    Cela dit ça ne fonctionne pas, voyez vous une erreur ?

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212
    Par défaut
    le souci c'est que sur ton téléphone tu demandes une page qui affiche un "echo" mais la page tu la vois pas donc normal que tu vois pas l'echo

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    je devrais pas le voir si je vais sur l'adresse du serveur et que je clic sur le fichier php ?

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212
    Par défaut
    bah non sauf si tu va à http://adresse de ton serveur/?codePostal=58000

    dans ce cas là tu verras le 58000

    Il te faut des notions de PHP, et ce n'est pas le bon forum.

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Oui mais quand je fais SELECT nom, adresse from Ville where cp = '$reponse' ça devrait marcher non ?

  14. #14
    Inactif
    Homme Profil pro
    Marchand de glace
    Inscrit en
    Mai 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Marchand de glace
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2012
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    En utilisant cette méthode !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nameValuePairs.add(new BasicNameValuePair("codePostal", test));
    Tu ne récupère pas ta variable avec un $_GET['codePostal'] mais avec un $_REQUEST['codePostal']

    Pour ton fichier php je ferais comme sa a ta place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    $code_postal=$_REQUEST['codePostal']
    //Tu appel ta requete
    $sql="SELECT nom, adresse from Ville where cp = "+ $code_postal
    //Tu fait un traitement de tes resultats
    //Ensuite tu renvois le resultat
    //$tableau est le tableau qui contient tes resultats
    print(json_encode($tableau))
    Si tu veux tester ton appel !
    Au début de ton script tu rajoute la valeur en dur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //74000 par exemple
    $code_postal=74000
    et a l'adresse de ton script tu pourra voir ton tableau (donc le resultat de ta requete)

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Merci de ton aide, c'est sympa seulement je rencontre un problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    //Envoi du code Postal au script PHP
     
    test2="Ottange";
     
    HttpPost httppost = new HttpPost("http://www.adresse.com/testserv.php");
     
    List<NameValuePair>nameValuePairs = new ArrayList<NameValuePair>(); 
     
    nameValuePairs.add(new BasicNameValuePair("codePostal", test2));
     
    try {
     
    	httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     
    } catch (UnsupportedEncodingException e) {
     
    	e.printStackTrace();
     
    }
     
    HttpClient httpclient = new DefaultHttpClient();
     
    try {
     
    	httpclient.execute(httppost);//Voila, la requête est envoyée
     
    } catch (ClientProtocolException e) {
     
    	e.printStackTrace();
     
    } catch (IOException e) {
     
    	e.printStackTrace();
    }
    Je force donc ce qui va passer dans le PHP car je met test2 = "Ottange".

    Après dans le Php j'ai mit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $code_postal=$_REQUEST['codePostal'];
    $req = "SELECT name, telephone, adresse , cp, ville, mail, pcl.long, lat  from ps_category_lang pcl where ville = '$code_postal'";
    $req1 =mysql_query($req);
    et ça ne me renvois pas le bon résultat, alors que si je met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $code_postal=$_REQUEST['codePostal'];
    $code_postal="Ottange";
    $req = "SELECT name, telephone, adresse , cp, ville, mail, pcl.long, lat  from ps_category_lang pcl where ville = '$code_postal'";
    $req1 =mysql_query($req);
    je met donc directement dans le php code_postal ="Ottange" la sa fonctionne

  16. #16
    Inactif
    Homme Profil pro
    Marchand de glace
    Inscrit en
    Mai 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Marchand de glace
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2012
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Alors,

    test2="Ottange";

    Ca ne sert a rien de forcer la valeur dans le code JAVA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $code_postal=$_REQUEST['codePostal'];
    $req = "SELECT name, telephone, adresse , cp, ville, mail, pcl.long, lat  from ps_category_lang pcl where ville = '$code_postal'";
    $req1 =mysql_query($req);
    C'est normal que ce code ne fonctionne pas ! Il doit te dire qu'il ne connait pas $_REQUEST['codePostal'] !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $code_postal=$_REQUEST['codePostal'];
    $code_postal="Ottange";
    $req = "SELECT name, telephone, adresse , cp, ville, mail, pcl.long, lat  from ps_category_lang pcl where ville = '$code_postal'";
    $req1 =mysql_query($req);
    Si celui ci fonctionne c'est très bien c'est exactement ce que tu cherche !
    Il te reste plus qu'a gérer le renvois du script et le récupérer dans le code JAVA !

    Maintenant enlève ta valeur en dur (dans le code php), gère le retour du script (encodage en json) et regarde ce que tu récupère en JAVA

    EDIT : J’ai un doute sur ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req = "SELECT name, telephone, adresse , cp, ville, mail, pcl.long, lat  from ps_category_lang pcl where ville = '".$code_postal."'";

  17. #17
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    C'est pas ce que je cherche, car ce que je cherche c'est que l'utilisateur tape "Ottange", ensuite je le récupère dans le PHP pour pouvoir chercher seulement les infos de ce village

  18. #18
    Inactif
    Homme Profil pro
    Marchand de glace
    Inscrit en
    Mai 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Marchand de glace
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2012
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Reprenons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    //Envoi du code Postal au script PHP
     
    HttpPost httppost = new HttpPost("http://www.adresse.com/testserv.php");
     
    List<NameValuePair>nameValuePairs = new ArrayList<NameValuePair>(); 
     
    //Débrouille toi pour récupérer la valeur rentré de l'utilisateur (Ottange dans ton exemple)
    //Tu envois un paramètre nommé codePostal avec une valeur Ottange
    nameValuePairs.add(new BasicNameValuePair("codePostal", test2));
     
    try {
     
    	httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     
    } catch (UnsupportedEncodingException e) {
     
    	e.printStackTrace();
     
    }
     
    HttpClient httpclient = new DefaultHttpClient();
     
    try {
     
    	httpclient.execute(httppost);//Voila, la requête est envoyée
     
    } catch (ClientProtocolException e) {
     
    	e.printStackTrace();
     
    } catch (IOException e) {
     
    	e.printStackTrace();
    }
    Dans le script PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Tu recupère le paramètre que tu as envoyé
    //$codePostal va donc récupérer la valeur saisie par l'utilisateur
    $code_postal=$_REQUEST['codePostal'];
    $req = "SELECT name, telephone, adresse , cp, ville, mail, pcl.long, lat  from ps_category_lang pcl where ville = '$code_postal'";
    $req1 =mysql_query($req);
    J'espère que c'est plus clair te reste plus qu'a gérer le retour du script

  19. #19
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Je te suis parfaitement, mais la requête ne me retourne pas le bon résultat.

    c'est que $code_postal ne doit pas valoir "Ottange" , car si je met $code_postal = "Ottange" ça fonctionne, je récupère les bons résultats etc...

    Edit: code postal doit être nul car si je lle met à "" (chaine vide)à le résultat de la requête est le même

    Merci encore de ton aide,

    Vivien

  20. #20
    Inactif
    Homme Profil pro
    Marchand de glace
    Inscrit en
    Mai 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Marchand de glace
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2012
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Tu test depuis l'adresse de ton serveur ? ou depuis android ? quand tu dis que la requête ne retourne pas les bons résultats

    Si tu tests depuis ton serveur c'est normal que $code_postal soit vide puisque le paramètre n'est pas envoyé ! Donc on test le comportement du script comme si le paramètre était envoyé en rajoutant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $code_postal="Ottange";
    une fois qu'on sait que le script fonctionne on le touche plus et $code_postal prendra la bonne valeur via l'appelle avec android (et l'envoie de ce fameux paramètre)

Discussions similaires

  1. [XL-2010] vbaexcel recherche et envoye des données de fichier excelà un autre fichier excel
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/08/2011, 14h42
  2. [AJAX] Envoyer des données à un script PHP
    Par JeromeC# dans le forum AJAX
    Réponses: 1
    Dernier message: 11/03/2011, 17h43
  3. Réponses: 9
    Dernier message: 04/06/2008, 11h38
  4. Réponses: 4
    Dernier message: 03/05/2006, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo