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 depuis mon application android vers mysql


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Points : 35
    Points
    35
    Par défaut Envoyer des données depuis mon application android vers mysql
    Bonjour à tous

    je veux envoyer des données tq Login et Mot de passe de mon Android à ma base de donnée.

    J'ai r"alisé des recherches et j'ai constaté que:

    -on a besoin d'un HttpClient pour l'envoie du donnée
    -un script php pour remplir la table

    j'ai fait un essai comme suit

    ***********************java***************
    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
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);   
     
     
            List nameValuePairs = new ArrayList(1);
     
            nameValuePairs.add(new BasicNameValuePair("Nom","Bennour"));
            nameValuePairs.add(new BasicNameValuePair("Prenom","Mohamed"));
     
            //http post
            try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new      
                HttpPost("http://10.0.0.2/androidEnvoie/index.php");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                InputStream is = entity.getContent();
                Log.i("postData", response.getStatusLine().toString());
            }
     
            catch(Exception e)
            {
                Log.e("log_tag", "Error in http connection "+e.toString());
            }

    ***************php***********************

    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
     
    <?php
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("clients", $con);
     
    //retrieve the data
    $lat = $_GET['Nom'];
    $lon = $_GET['Prenom'];
     
    $sql = "INSERT INTO clientconnecte (Nom, Prenom) VALUES('$lat', '$lon')";
     
    if (!mysql_query($sql,$con))
    {
        die('Error: ' . mysql_error());
    }
    else
    {
        //echo "1 record added";
    }
     
    mysql_close($con)
    ?>


    probleme:

    -je veux savoir si mon code java est juste ou nn?
    -quand j'execute mon code Php , il m'affiche les erreur :

    "Notice: Undefined index: Nom in C:\wamp\www\androidEnvoie\index.php on line 12"

    "Notice: Undefined indexrenom in C:\wamp\www\androidEnvoie\index.php on line 13"




    merci de m'aider

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    je vous propose d'utiliser les services web. ton sw coté serveur avec php contient une fonction qui a comme paramètre login et pw fait un accés au base et retourne le resuta. depuis android, tu envoie les paramètres en premier lieu puis tu reçois le réponse.
    tu peux utiliser deux bib
    *ksoap2 pour la communication entre sw et android
    *Nusoap pour la facilté de developper sw coté serveur......

  3. #3
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Salut,

    Tes données sont envoyées en POST pas en GET, dans ton script php tu dois changé tes GET.

    Et il me semble que la syntaxe de ta requête n'est pas bonne, ca serai plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO clientconnecte (Nom, Prenom) VALUES('".$lat."', '".$lon."')";

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Points : 35
    Points
    35
    Par défaut
    voilà ,j'ai essayer avec autre chose

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    public class MainActivity extends Activity {
     
    	TextView Tname;
    	EditText Ename;
    	Button btnCreate;
    	String page="";
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
     
            btnCreate = (Button) findViewById(R.id.btnGen);
            Tname = (TextView) findViewById(R.id.txtName);
            Ename = (EditText) findViewById(R.id.editName);
     
     
            btnCreate.setOnClickListener(new Button.OnClickListener()
            {
                public void onClick(View v)
                {
                    examineJSONFile();
                }
            });
        }
     
        void examineJSONFile()
        {
            try
            {
                JSONObject object=new JSONObject();
                object.put("Nom", Ename.getText());
     
                String str=object.toString();
                executeHttpPost(str);
            	Log.i("JsonString :", str);
            	Toast.makeText(this, "Json Objects are : " + str,Toast.LENGTH_LONG).show();
     
     
            }
            catch (Exception je)
            {
     
            }
        }
     
        public  void executeHttpPost(String string) throws Exception 
    	{
        	//This method  for HttpConnection  
    	    try 
    	    {
    	    	HttpClient client = new DefaultHttpClient();
     
    	        HttpPost request = new HttpPost("http://*.*.*.
    */androidEnvoie/index.php");
     
    	        List<NameValuePair> value=new ArrayList<NameValuePair>();
     
    	        value.add(new BasicNameValuePair("Nom",string));
     
    	        UrlEncodedFormEntity entity=new UrlEncodedFormEntity(value);
     
    	        request.setEntity(entity);
     
    	        client.execute(request);
     
    	       System.out.println("after sending :"+request.toString());
     
    	    } 
         catch(Exception e)	    {System.out.println("Exp="+e);
    	    }
     
    	}
     
        }
    et php

    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
    <?php 
     
        if( isset($_POST['Nom'])  ) {
     
            echo '<?xml version="1.0"?>'."\n";
            echo "<login>\n";
     
        $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("clients", $con);
     
     
     
    		$select = "INSERT INTO clientconnecte (Nom) VALUES('$_POST[Nom]') ";
     
            echo("$_POST[Nom]");
        }
    	else {echo("non inserée");}
     
        function error($ec) {
            printf('    <error value="%d"/>'."\n".'</login>',$ec);
            die();
        }
     
     
    ?>

    le probleme est que la valeure desiré n'ai pas envoyé ,ainsi qu'au script php n'est pas selectionnée !

  5. #5
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Quand tu dis que la valeur n'est pas envoyée, tu veux dire que tu récupère rien dans ton String passé en paramètre pour la méthode executeHttpPost(String string)?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Points : 35
    Points
    35
    Par défaut
    à MALGACH


    j'ai essayé ça mais:


    toujours en executant le script php il m'affiche une erreur qui dit:

    Notice: Undefined index: Nom in C:\wamp\www\androidEnvoie\index.php on line 14

    et voila mon code php

    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
     
     
     
    <?php
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("clients", $con);
     
    //retrieve the data
    $lat = $_POST['Nom'];
     
     
    $sql = "INSERT INTO clientconnecte (Nom) VALUES('".$lat."')";
     
     
    if (!mysql_query($sql,$con))
    {
        die('Error: ' . mysql_error());
    }
    else
    {
        //echo "1 record added";
    }
     
    mysql_close($con)
    ?>

  7. #7
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Mais ton code tu l'exécute via l'application en utilisant une requête httpPost?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Points : 35
    Points
    35
    Par défaut
    Merci Malgach,grace à vous j'ai trouvé la solution , j’étais bloqué depuis jeudi

    merci bien

  9. #9
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Derien ^^

    Il venait d'où ton problème?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Points : 35
    Points
    35
    Par défaut
    c'était la requete sql,ainsi que j'ai oublié que j'ai changé l'@IP de mon PC,car je teste sur mon tel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/05/2009, 13h29
  2. Réponses: 9
    Dernier message: 04/06/2008, 11h38
  3. envoyer des données depuis cellules excel à une table access
    Par alaouiyassine01 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2007, 17h39
  4. je peux pas envoyer des emails via mon application
    Par scofild20 dans le forum Réseau
    Réponses: 7
    Dernier message: 20/10/2007, 22h54
  5. Réponses: 1
    Dernier message: 29/08/2006, 17h03

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