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 :

Passage de variable


Sujet :

Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2015
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Passage de variable
    Bonjour , je vous explique le problème ,
    je souhaite passer des variables de ma Class java a mon fichier php aucun soucis pour toute les variables sauf deux : un type 'timePicker" et "DatePicker" (les variables on étées converties en String avant le pasage dans le PHP) cependant le php ne les reconnais pas et prend en compte un valeur vide lorsque j’effectue une insertion, apres un log sur ma console la variable est pourtant correct.
    Si quelqun a une petite idée ..

    La class 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
    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
     
        public void ajoutRdv(View view) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
            String situation1 = null;
     
    //Recuperation des données saisi par l'utilisateur//
            EditText nRdv = (EditText) findViewById(R.id.nameRdv);
            EditText pRdv = (EditText) findViewById(R.id.prenomRdv);
            EditText telRdv = (EditText) findViewById(R.id.telRdv);
     
            String NomRdv = nRdv.getText().toString();
            String PrenomRdv = pRdv.getText().toString();
            String TelRdv = telRdv.getText().toString();
     
            Spinner techniqueVolumeRusse = (Spinner) findViewById(R.id.spinner4);
     
            String tvolumeRusse = techniqueVolumeRusse.getSelectedItem().toString();
     
            Spinner techniqueCill = (Spinner) findViewById(R.id.spinner);
            String tCill = techniqueCill.getSelectedItem().toString();
     
     
            TimePicker timePicker = (TimePicker) findViewById(R.id.tp);
     
            timePicker.setIs24HourView(true);
     
     
            String hourRdv = timePicker.getCurrentHour().toString();
            String minuteRdv = timePicker.getCurrentMinute().toString();
     
            String timeRdv = hourRdv + " " + "HEURE" + " " + minuteRdv;
     
     
            DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker);
            int Month = datePicker.getMonth()+1;
            int Day = datePicker.getDayOfMonth();
            int Year = datePicker.getYear();
     
     
            Calendar calendar = Calendar.getInstance();
            calendar.set(Year, Month, Day);
     
            SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
            String strDate = format.format(calendar.getTime());
     
     
           // String Date =Day+"/ "+Month+"/"+Year+" ";
            //String datefinal = Date;//.........................................//
     
     
     
     
            System.out.println();
            HttpPost httppost = new HttpPost("http://testhiber.livehost.fr/rdv.php");
    //Envoie les variables dans le fichier php//
            List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(7);
            nameValuePair.add(new BasicNameValuePair("NomRdv", NomRdv));
            nameValuePair.add(new BasicNameValuePair("PrenomRdv", PrenomRdv));
            nameValuePair.add(new BasicNameValuePair("TelRdv", TelRdv));
            nameValuePair.add(new BasicNameValuePair("tvolumeRusse", tvolumeRusse));
            nameValuePair.add(new BasicNameValuePair("tCill", tCill));
            nameValuePair.add(new BasicNameValuePair("timeRdv ", timeRdv ));
            nameValuePair.add(new BasicNameValuePair("Date ", strDate ));
     
            try {
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePair));
                System.out.println(strDate);
            } catch (UnsupportedEncodingException e) {
                Log.i("test2", tvolumeRusse);
     
                e.printStackTrace();
            }
    //Execution de la requete//
     
            HttpClient httpClient = new DefaultHttpClient();
            try {
     
                HttpResponse response = httpClient.execute(httppost);
                HttpEntity entite = response.getEntity();
                String reponse = EntityUtils.toString(entite);
                Log.i("requete", reponse);
     
     
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                Log.i("test3", tvolumeRusse);
                e.printStackTrace();
            } catch (IOException e) {
                Log.i("test4", tvolumeRusse);
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
            Toast.makeText(getApplicationContext(), "Le rdv a bien a été envoyé", Toast.LENGTH_LONG).show();
        }

    Le 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
    //conection:
    $host_name  = "localhost";
    $database   = "lashapp_a32r";
    $user_name  = "lashapp_a32r";
    $password   = "**********";
     
     
    //Recuperation des variables saisies par l'utilisateur
    $nomRdvPhp = $_POST["NomRdv"];
    $prenomRdvPhp=$_POST["PrenomRdv"];
    $telRdvPhp = $_POST["TelRdv"];
    $tvolumeRussePhp = $_POST["tvolumeRusse"];
    $tCillphp = $_POST["tCill"];
    $timeRdvphp=$_POST["timeRdv"];
    $datephp=$_POST["Date "];
     
     
     
     
     
    // insert les variable recuperer dans le java 
    $connect = mysqli_connect($host_name, $user_name, $password, $database); //or die("Error " . mysqli_error($connect));
    $query = "INSERT INTO `lashapp_a32r`.`rendezvous` (`Nom`, `Prenom`, `Tel`, `date`, `Heure`, `PrestationVolumeRusse`, `prestation2`) VALUES ('$nomRdvPhp', '$prenomRdvPhp', '$datephp', '$tvolumeRussePhp', '$tCillphp', '$timeRdvPhp', '$datephp')" or die("Error in the consult.." . mysqli_error($connect));
    $result = mysqli_query($connect, $query);		// OU : $result = $connect->query($query);
     
    while($row = mysqli_fetch_array($result)) {
      echo $row["Nom"] . "<br>";
     
    	 echo $row["Prenom"] . "<br>";
     
     
    }
     
     
     
    echo " '$query' requete<br>";
    ?>

    La variable "timerdvPhp" et "datePhp" prennent une valeur vide

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    février 2013
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : février 2013
    Messages : 191
    Points : 472
    Points
    472
    Par défaut
    Bonjour,

    Très rapidement, je vois nameValuePair.add(new BasicNameValuePair("timeRdv ", timeRdv )); avec un espace en fin de chaine et $timeRdvphp=$_POST["timeRdv"]; sans espace en fin de chaine.
    D'autre part, je vois que les seules variables qui te posent problème sont celles avec un espacement dans le nom de variable.
    A mon avis new UrlEncodedFormEntity(nameValuePair) encode tes paramètres, donc les espaces sont probablement remplacés par %20.
    As-tu essayés d'afficher l'ensemble du contenu de ton tableau $_POST ?

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    6 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 6 368
    Points : 18 487
    Points
    18 487
    Par défaut
    Note au passage que ton code PHP est sujet à une magnifique injection SQL.
    Ne jamais insérer directement des données utilisateurs dans une requête sans les avoir au préalable filtrées (filter_var , intval, mysqli_prepare , etc ...) .

    Te tourne vers le forum PHP si jamais tu as besoin de plus d'aide sur ce problème particulier.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2015
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Bonjour , merci pour vos réponses.

    J'ai en effet supprimé les espaces , toujours le même problème..

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    août 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : août 2007
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Passage de variable
    Bonjour,

    J'ai eu ce pb il y a peu de temps.

    Pour la date, la requête SQL n'est prise en compte (dans mon cas) que si la date envoyée est de la forme : "aa-mm-jj 00:00:00" format défini dans la table de ta base de données.
    Pour l'heure seule, je ne sais pas, mais tu dois pouvoir l'intégrer directement dans la date au niveau des 00:00:00.

    Cordialement

Discussions similaires

  1. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25
  2. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  3. [Kylix] passage de variable en Libc
    Par zheng dans le forum EDI
    Réponses: 11
    Dernier message: 06/05/2004, 14h14
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. [langage] Passage de variables...
    Par martijan dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2003, 09h48

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