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

Java ME Discussion :

Pb avec un TextField et les espaces


Sujet :

Java ME

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2011
    Messages : 40
    Points : 37
    Points
    37
    Par défaut Pb avec un TextField et les espaces
    Bonjour,

    Quand je remplis un TextField en mettant un espace entre deux mots, il affiche l'erreur ci-dessous et rien n'est ajouté dans la base.
    java.lang.IllegalArgumentException: Space character in URL
    Quelqu'un saurait-il m'expliquer d'où vient le problème ?

    svp voila mon code j2me
    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
     
    public void ajout_memo () {
    String code = textField6.getString();
    String systeme = textField7.getString();
    String theme = textField8.getString();
    String annee = textField9.getString();
    String nom1 = textField10.getString();
    String nom2 = textField11.getString();
    String encadreur = textField12.getString();
     
     
    String parameter00;
     
    String url = "http://localhost/wwwbibwamp/admin/ajout/ajout_memo.php?";
     
    parameter00 = "code=" + code;
    parameter00 += "&systeme=" + systeme;
    parameter00 += "&theme=" + theme;
    parameter00 += "&annee=" + annee;
    parameter00 += "&nom1=" + nom1;
    parameter00 += "&nom2=" + nom2;
    parameter00 += "&encadreur=" + encadreur;
     
     
     
    connexion (url,parameter00);
     
    }
    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
    31
    32
    33
    34
    35
    36
    37
     
    <?php
     
     
     
    include("C:\wamp\www\wwwbibwamp\connect_base.php");
     
     
     
    $code = $_GET["code"];
     
    $systeme= $_GET["systeme"];
     
    $theme = $_GET["theme"];
     
    $annee = $_GET["annee"]; 
     
    $nom1 = $_GET["nom1"];
     
    $nom2 = $_GET["nom2"];
     
    $encadreur = $_GET["encadreur"];
     
     
     
     
     
     
     
     
    $requete = "INSERT INTO memoir VALUES('','$code','$systeme','$theme','$annee','$nom1','$nom2','$encadreur',3,0)";
     
    $resultat = mysql_query($requete);
     
     
     
    ?>
    quand je rempli textField (theme) qui contient souvent 2 ou 3 mots s'affiche l'erreur de l'espace
    comment je peut utliser le package java.net URLEncoder dans ce cas???

    merci d'avance

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Tu ne peux effectivement pas mettre d'espace dans ton URL.
    Tu dois utiliser le code qui correspond à un espace à la place.
    Il me semble que c'est %20.
    Donc le plus simple c'est de remplacer tous les espaces de ton TextField par %20.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2011
    Messages : 40
    Points : 37
    Points
    37
    Par défaut aucune ideé
    merci pour la reponse;
    j'ai pas bien compris comment je faire pour ajoute %20 est ce qui'il va apparaitre dans mon textfield a la place de l'espace(je veux pas ça)
    sachant que c'est une application de cilent ,il remplit le textFiel qui est composer d'aux moin de deux mots separés par un espace
    ex: "bonjour anikinisan" quand je valide aucun enregistrement n'est ajouter dans la base et l'erreur de l'espase est generé
    merci

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    En fait tu continues de remplir tes champs comme avant. Donc tu peux taper tes espaces normalement.
    Mais avant de faire ton "connexion(url, parameter00)", tu transformes tous tes caractères spéciaux.

    Pour le URLEncode en J2ME, c'est pas disponible apparament. Tu dois le recoder toi même.

    J'ai trouvé ici une implémentation que je n'ai pas testée :
    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
    static public String urlEncode(String sUrl)   
       {  
            StringBuffer urlOK = new StringBuffer();  
            for(int i=0; i<sUrl.length(); i++)   
            {  
                char ch=sUrl.charAt(i);  
                switch(ch)  
                {  
                    case '<': urlOK.append("%3C"); break;  
                    case '>': urlOK.append("%3E"); break;  
                    case '/': urlOK.append("%2F"); break;  
                    case ' ': urlOK.append("%20"); break;  
                    case ':': urlOK.append("%3A"); break;  
                    case '-': urlOK.append("%2D"); break;  
                    default: urlOK.append(ch); break;  
                }   
            }  
            return urlOK.toString();  
        }
    et donc dans ton code ca donnerait :

    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
     
    public void ajout_memo () {
    String code = textField6.getString();
    String systeme = textField7.getString();
    String theme = textField8.getString();
    String annee = textField9.getString();
    String nom1 = textField10.getString();
    String nom2 = textField11.getString();
    String encadreur = textField12.getString();
     
     
    String parameter00;
     
    String url = "http://localhost/wwwbibwamp/admin/ajout/ajout_memo.php?";
     
    parameter00 = "code=" + code;
    parameter00 += "&systeme=" + systeme;
    parameter00 += "&theme=" + theme;
    parameter00 += "&annee=" + annee;
    parameter00 += "&nom1=" + nom1;
    parameter00 += "&nom2=" + nom2;
    parameter00 += "&encadreur=" + encadreur;
     
     
    parameter00 = urlEncode(parameter00);
     
    connexion (url,parameter00);
     
    }

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2011
    Messages : 40
    Points : 37
    Points
    37
    Par défaut enfin pb resolu
    merci Anikinisan ;
    je trouve pas les mots pour te remercier vraiment t m'as fait un grant plaisir

  6. #6
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Citation Envoyé par fortman1987 Voir le message
    merci Anikinisan ;
    je trouve pas les mots pour te remercier vraiment t m'as fait un grand plaisir
    De rien.
    Ca fait plaisir de voir que tu as résolu ton problème.
    A plus et bon courage avec le J2ME...

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

Discussions similaires

  1. probléme avec la commande ln (les espaces)
    Par yous18 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 31/03/2008, 09h31
  2. Problème avec les espaces dans un tableau !
    Par remixtech dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/07/2006, 19h30
  3. [VBS]Problème de chemin avec les " " (espace)
    Par pierre1256 dans le forum VBScript
    Réponses: 3
    Dernier message: 16/02/2006, 18h53
  4. [Winsock] Problème avec les espaces
    Par Fiquet dans le forum Développement
    Réponses: 3
    Dernier message: 12/01/2006, 18h06
  5. Gérer les espaces avec SED
    Par byloute dans le forum Linux
    Réponses: 7
    Dernier message: 29/10/2005, 19h07

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