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

avec Java Discussion :

Programmation en Java


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Programmation en Java
    bonsoir,
    s'il vous plait je besoin d'aide
    je crée une petite application avec netbeans, dans cette application l'utilisateur devra saisir son login et son password pour accéder à la suite.
    mon problème est le suivant :
    j'ai créer l'interface de connexion avec netbeans, j'ai aussi créer la base de données mais quand saisie le login et le mot de passe il me renvoi "mot de passe incorrect !" je ne sais pas ce qui ce passe.
    svp quelqu'un peut m'aider help

    voici mon code

    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
    String login = JTLogin.getText();
            String mdp = JPMdp.getPassword().toString();
     
            maConnexion.ObtenirConnexion();
            con = maConnexion.ObtenirConnexion();
     
           try
           {
               //création de la requete
               statement = con.prepareStatement("SELECT password FROM users WHERE login ='"+login+"' ");
               resultat = statement.executeQuery();
     
               if(resultat.next())
               {
                   String motDePass = resultat.getString(1);
                   if(motDePass.equals(mdp))
                   {
                       JOptionPane.showMessageDialog(null, "Connexion reussie !", "SUCCESS", JOptionPane.PLAIN_MESSAGE);
                        RessourcesHumaine rh = new RessourcesHumaine();
                        rh.setVisible(true);
               }
               else
               {
                   JOptionPane.showMessageDialog(null, "Mot de passe incorect !","Erreur",(1));
               }
               }
               else
               {
                   JOptionPane.showMessageDialog(null, "Login incorrect !","Erreur",(1));
               }
     
               //Recuperation de la requete dans la variable
               resultat = statement.executeQuery();
     
              // con.close();
           }
           catch(SQLException e)
                   {
                       System.out.println(e.getMessage());
                   }

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Je ne connais pas les DAO de Java, mais le GetString(1) me paraît suspect: Intuitivement, j'aurais plutôt mis GetString(0).

    PS:
    statement = con.prepareStatement("SELECT password FROM users WHERE login ='"+login+"' ")
    Mauvais, ça: http://xkcd.com/327/
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre expert
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Ingénieur Cloud
    Inscrit en
    Mai 2012
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Ingénieur Cloud
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 145
    Points : 3 654
    Points
    3 654
    Billets dans le blog
    20
    Par défaut
    Il y à souvent des confusion avec le getString mais c'est bien le numéro de la colonne qui faut mettre. Et donc 1.

    String getString(int columnIndex)
    throws SQLException

    Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.

    Parameters:
    columnIndex - the first column is 1, the second is 2, ...
    Returns:
    the column value; if the value is SQL NULL, the value returned is null
    Throws:
    SQLException - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
    Ce qui me parait suspect moi c'est que nul par t une déclare le type de ta variable résultat. Enfin pas dans ce que tu nous montre en tous cas. Mais ça serai plus jolie si tu utilisais les balise code pour poster ton code sur le forum.

    Sinon pour ton problème je te suggère d'utiliser le débuger de netbean pour pouvoir comparer les valeur retournés.
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

  4. #4
    Membre éclairé Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Points : 703
    Points
    703
    Par défaut
    Salut !

    Comme l'a dit le panda , utilise le débuggeur de NetBeans, tu pourras alors voir quel est le retour de la requête, et quel est le mot de passe stocké (Entrée Utilisateur).
    Tu pourras donc cibler un peu plus ton problème.
    N'hésite pas à revenir vers nous.
    -----------------------------------------------------------------------------------------
    Don't play with fire if u don't wanna get burn ! Clinton - Fearon
    ____________________________________________________Pensez au

  5. #5
    Membre éclairé Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Points : 703
    Points
    703
    Par défaut
    Salut,

    As-tu résolu ton problème ?

    Si oui pense au petit
    Avec la solution tant qu'à faire !

    Sinon nous sommes là pour t'aider ^^
    -----------------------------------------------------------------------------------------
    Don't play with fire if u don't wanna get burn ! Clinton - Fearon
    ____________________________________________________Pensez au

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    On ne fait jamais un select du mot de passe pour le vérifier !
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select 1 from users WHERE login = ? and password = ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    con.prepareStatement("select 1 from users WHERE login = ? and password = ?");
    updateSales.setString(1, login);
    updateSales.setString(2, password);
    cf: Using Prepared Statements
    Ainsi le mot de passe réel de l'utilisateur n'est jamais chargé dans l'application. La base de donnée n'envoie jamais l'information !
    Après, le mot de passe stocké en clair, ce n'est pas une bonne idée non plus.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  7. #7
    Membre éclairé Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Points : 703
    Points
    703
    Par défaut
    Kolodz a raison, il ne faut pas faire de select sur tes mdp , et encore moins les stocker en clair dans ta DB.
    Si tu souhaites avoir plus d'infos sur ce sujet, il y a un sujet très intéressant déjà ouvert ICI

    Bon courage !
    -----------------------------------------------------------------------------------------
    Don't play with fire if u don't wanna get burn ! Clinton - Fearon
    ____________________________________________________Pensez au

  8. #8
    Membre éclairé Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Points : 703
    Points
    703
    Par défaut
    Salut !

    As-tu résolu ton problème ?

    Penses au
    -----------------------------------------------------------------------------------------
    Don't play with fire if u don't wanna get burn ! Clinton - Fearon
    ____________________________________________________Pensez au

Discussions similaires

  1. conseils pour bien programmer en Java
    Par Patrice Henrio dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 31/08/2007, 23h05
  2. Tutorial bonne pratique du programmation avec JAVA
    Par menzlitsh dans le forum Langage
    Réponses: 10
    Dernier message: 02/07/2007, 11h56
  3. Réponses: 11
    Dernier message: 15/02/2007, 17h11
  4. Programmation objet Java
    Par vandamme dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2006, 19h51
  5. [livre que faire ?]Programmer en Java
    Par paterson dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/04/2006, 23h50

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