Partage
  • Partager sur Facebook
  • Partager sur Twitter

Authentification Java / Mysql

Sujet résolu
    19 décembre 2014 à 10:56:33

    Bonjour ,
    Je suis entrain de faire une interface graphique pour une authentification login/password mais mon code ne présente pas d'erreur et j'arrive pas à voir le résultat souhaité c'est à dire CONNEXIOIN REUSSIE...

    Help mee...

    La Classe Authentification :

    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    	/* Cette classe est l'interface d'affichage de la Connexion   */
    
    public class Authentification extends JFrame {
    	
    	JLabel login,mdp;
    	JTextField login1;
    	JPasswordField mdp1;
    	JButton valider,annuler;
    	
    		
    	public Authentification(){
    		
    		super();
    		this.setTitle(" GESCOM ");
    		this.setSize(new Dimension(400,200));
    		this.setLocationRelativeTo(null);
    		this.setResizable(false);
    		
    		
    		login = new JLabel("Login");
    		login1 = new JTextField();
    		
    		mdp = new JLabel("Mot de Passe");
    		mdp1 = new JPasswordField();
    		
    		valider = new JButton("Valider ");
    		annuler = new JButton(" Annuler");
    		
    		
    		Container contenu = this.getContentPane();
    		contenu.setLayout(null);
    		
    		contenu.add(login);
    		login.setBounds(20, 20, 100, 20);
    		
    		contenu.add(login1);
    		login1.setBounds(150, 20, 150, 20);
    		
    		contenu.add(mdp);
    		mdp.setBounds(22, 55, 100, 20);
    		
    		contenu.add(mdp1);
    		mdp1.setBounds(150, 55, 150, 20);
    		
    		contenu.add(valider);
    		valider.setBounds(125,100 ,77 ,20 );
    		
    		contenu.add(annuler);
    		annuler.setBounds(225, 100, 82, 20);
    		
    		valider.addActionListener(new ValiderListener());	
    		
    		this.setVisible(true);
    	
    	}
    		
    }
    
    		class ValiderListener extends JFrame implements ActionListener{
    		
    			@Override
    			public void actionPerformed(ActionEvent e) {
    					ActionEvent a;
    					try {
    						
    					} catch (Exception e2) {
    						
    					}
    			}
    			
    		}

    La Classe Base :

    import java.sql.Connection;
    import java.sql.DriverManager;
    
    
    public class Base {
    	
    	public Connection conn;
    	
    	public void connexionBD(){
    		
    		
    		/*  Chargement de la Base de données  */
    			try{
    				
    				Class.forName("com.mysql.jdbc.Driver.");
    				
    			} catch (Exception e) {
    				
    				System.out.println(" Erreur de chargement de la Base de données");
    				e.getMessage();
    				System.exit(0);
    				
    			}
    		
    		
    			/*    Connexion de la Base de données  */
    			try {
    				
    				String url = "jdbc:mysql://localhost/gescom";
    				String user = "root";
    				String passwd ="";
    				conn = DriverManager.getConnection(url, user, passwd);
    				
    			} catch (Exception e) {
    				System.out.println(" Erreur de Connexion à la Base de données ");
    			}	
    			
    		}
    	
    			/*   */	
    			public Connection getConnect(){
    				
    				return conn;
    			}
    	
    			
    			/*   Deconnexion  */
    			public void Deconnexion(){
    			
    				try {
    					conn.close();
    					
    				} catch (Exception e) {
    					System.out.println(" Déconnexion Impossible ");
    				}
    			}
    		
    			
    			
    			
    }

    La Classe TraitementAuthentification

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    
    /*  Traitement à faire   */
    
    public class TraitementAuthentification implements ActionListener {
    
    	public Base b = new Base();
    	public Connection conn;
    	
    	static JTextField login1,passwd ;
    	
    	PreparedStatement statement = null;
    	
    	ResultSet resultat;
    	
    	public TraitementAuthentification(){
    		
    	}
    
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		String login = login1.getText();
    		String password = passwd.getText();
    		
    		b.connexionBD();
    		conn = b.getConnect();
    			try{
    				statement = (PreparedStatement) conn.createStatement();	
    				String sql = "SELECT password FROM authentification WHERE login ='"+login+"'";
    				resultat = statement.executeQuery(sql);
    				
    				if(resultat.next()){
    					
    					String motDePasse = resultat.getString(1);
    		
    				if(motDePasse.equals(password)){
    			
    					JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE);
    				}else {
    					
    					JOptionPane.showMessageDialog(null,"Mot de passe incorrect ! ","Error",1);
    				}
    				}else {
    					
    					JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1);
    				}
    
    					conn.close();
    		
    			}catch (SQLException e4) {
    			
    				System.out.println(e4.getMessage());
    			}
    		}
    	
    }





    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2014 à 11:23:38

      Qu'obtiens-tu comme résultat?

      Tu devrais soit avoir l'affichage de la boite de dialogue, soit une ligne d'erreur dans ta console.

      Si tu n'as rien de cela, c'est que ta méthode actionPerformed n'est pas appelée.

      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2014 à 11:27:30

        Le code ne présente aucune erreur  mais l'idéale est que lorsque je remplit le login et le mot de passe  et que je clique sur valider si les deux paramétres sont corrects le message suivant sera affiché : Connexion Reussi 
        au cas échéant un autre message sera affiché pour me dire que le Mot est incorrect 
        mais ce n'est pas le cas 
        aprés avoir remplit le login et le mot de passe si on clique sur valider le programme reste intacte..

        • Partager sur Facebook
        • Partager sur Twitter
          19 décembre 2014 à 11:30:00

          Ajoute le code suivant:

          public void actionPerformed(ActionEvent e) {
          System.out.println("Demande d'authentification");

          Relance ton programme et clique sur le bouton. Regarde dans la console si le texte est affiché.

          • Partager sur Facebook
          • Partager sur Twitter
            19 décembre 2014 à 11:33:19

            si j'ai vérifié que  la méthode actionPerformed est bien appelée

            • Partager sur Facebook
            • Partager sur Twitter
              19 décembre 2014 à 11:34:37

              attendez que je relance mon programme
              • Partager sur Facebook
              • Partager sur Twitter
                19 décembre 2014 à 11:37:36

                oui le message est affiché  : Demande d'authentification
                • Partager sur Facebook
                • Partager sur Twitter
                  19 décembre 2014 à 11:43:51

                  Essaie d'éviter de poster plusieurs messages à la suite. Il vaut mieux que tu  édites ton premier message si tu veux ajouter une précision.

                  Ajoute des System.out.println() dans tous tes if else pour savoir dans lequel tu passes

                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 décembre 2014 à 11:56:33

                    Aprés avoir essaye ce que vous m'avez indiqué cela reste intacte et m'affiche le message d'avant :  Demande d'authentification
                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 décembre 2014 à 12:55:34

                      finalement j'ai ajouté ce code de la classe Authentification car ayant pensé que j'ai trouvé la solution

                      		class ValiderListener extends JFrame implements ActionListener{
                      		
                      			@Override
                      			public void actionPerformed(ActionEvent e) {
                      					ActionEvent a = null;
                      					try {
                      						
                      						TraitementAuthentification ta = new TraitementAuthentification();
                      						ta.actionPerformed(a);
                      						
                      					} catch (Exception e2) {
                      						
                      						e2.printStackTrace();
                      					}
                      			}
                      			
                      		}

                      mais voici le message d'erreur qui est affiché au niveau de la console :

                      java.lang.NullPointerException
                      	at TraitementAuthentification.actionPerformed(TraitementAuthentification.java:31)
                      	at ValiderListener.actionPerformed(Authentification.java:80)
                      	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
                      	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
                      	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
                      	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
                      	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
                      	at java.awt.Component.processMouseEvent(Unknown Source)
                      	at javax.swing.JComponent.processMouseEvent(Unknown Source)
                      	at java.awt.Component.processEvent(Unknown Source)
                      	at java.awt.Container.processEvent(Unknown Source)
                      	at java.awt.Component.dispatchEventImpl(Unknown Source)
                      	at java.awt.Container.dispatchEventImpl(Unknown Source)
                      	at java.awt.Component.dispatchEvent(Unknown Source)
                      	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
                      	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
                      	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
                      	at java.awt.Container.dispatchEventImpl(Unknown Source)
                      	at java.awt.Window.dispatchEventImpl(Unknown Source)
                      	at java.awt.Component.dispatchEvent(Unknown Source)
                      	at java.awt.EventQueue.dispatchEvent(Unknown Source)
                      	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
                      	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
                      	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
                      	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
                      	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
                      	at java.awt.EventDispatchThread.run(Unknown Source)



                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 décembre 2014 à 13:19:17

                        Qu'as-tu à la ligne 22 de TraitementAuthentification.java
                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 décembre 2014 à 13:31:45

                          a la ligne 22  de TraitementAuthentification.java j'ai ceci ResultSet resultat;
                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 décembre 2014 à 13:33:20

                            Désolé, je voulais dire ligne 31
                            • Partager sur Facebook
                            • Partager sur Twitter
                              19 décembre 2014 à 13:43:05

                              en ok a la ligne 31 j'ai eu :    String login = login1.getText();

                              et à la ligne 80 j'ai eu ceci :  ta.actionPerformed(a);

                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 décembre 2014 à 13:47:13

                                D'après l'erreur, login1 est null. A toi de voir maintenant pourquoi...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  19 décembre 2014 à 13:50:33

                                  ok merci beaucoup de l'information
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    19 janvier 2016 à 21:31:32

                                    je peux avoir le code complet de la page svp
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      28 mai 2016 à 0:54:13

                                      import java.awt.Container;
                                      import java.awt.Dimension;
                                      import java.awt.event.ActionEvent;
                                      import java.awt.event.ActionListener;
                                      import java.sql.Connection;
                                      import java.sql.ResultSet;
                                      import java.sql.SQLException;
                                      import java.sql.Statement;
                                      import javax.swing.AbstractButton;
                                      import javax.swing.JButton;
                                      import javax.swing.JFrame;
                                      import javax.swing.JLabel;
                                      import javax.swing.JOptionPane;
                                      import javax.swing.JPasswordField;
                                      import javax.swing.JTextField;
                                      /* Cette classe est l'interface d'affichage de la Connexion */
                                      public class Authentification extends JFrame {
                                       JLabel login,mdp;
                                      JTextField login1;
                                      JPasswordField mdp1;
                                      JButton valider,annuler;
                                      public Authentification(){
                                      super();
                                      this.setTitle(" GESTION INSCRIPTION ");
                                      this.setSize(new Dimension(400,200));
                                      this.setLocationRelativeTo(null);
                                      this.setResizable(false);
                                      login = new JLabel("Login");
                                      login1 = new JTextField();
                                      mdp = new JLabel("Mot de Passe");
                                      mdp1 = new JPasswordField();
                                      valider = new JButton("Valider ");
                                      annuler = new JButton(" Annuler");
                                      Container contenu = this.getContentPane();
                                      contenu.setLayout(null);
                                      contenu.add(login);
                                      login.setBounds(20, 20, 100, 20);
                                      contenu.add(login1);
                                      login1.setBounds(150, 20, 150, 20);
                                      contenu.add(mdp);
                                      mdp.setBounds(22, 55, 100, 20);
                                      contenu.add(mdp1);
                                      mdp1.setBounds(150, 55, 150, 20);
                                      contenu.add(valider);
                                      valider.setBounds(125,100 ,77 ,20 );
                                      contenu.add(annuler);
                                      annuler.setBounds(225, 100, 82, 20);
                                      annuler.addActionListener(new ActionListener() {
                                      @Override
                                      public void actionPerformed(ActionEvent e) {
                                      // TODO Auto-generated method stub
                                      System.exit(0);
                                      }
                                      });
                                      valider.addActionListener(new ActionListener() {
                                      @Override
                                      public void actionPerformed(ActionEvent e) {
                                      // TODO Auto-generated method stub
                                      authentification(login1 ,mdp1);
                                      }
                                      private void authentification(JTextField login1, JPasswordField mdp1) {
                                      // TODO Auto-generated method stub
                                      Base b = new Base();
                                      Connection conn;
                                      Statement statement = null;
                                      ResultSet resultat;
                                      // TODO Auto-generated method stub
                                      String login =login1.getText();
                                      System.out.println("login1="+login);
                                      String password = mdp1.getText();
                                      b.connexionBD();
                                      conn = b.getConnect();
                                      try{
                                      statement = conn.createStatement();
                                      String sql = "SELECT password FROM admin WHERE login ='"+login+"'";
                                      resultat = statement.executeQuery(sql);
                                      if(resultat.next()){
                                      String motDePasse = resultat.getString(1);
                                      if(motDePasse.equals(password)){
                                      JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE);
                                      }else {
                                      JOptionPane.showMessageDialog(null,"Mot de passe incorrect ! ","Error",1);
                                      }
                                      }else {
                                      JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1);
                                      }
                                      conn.close();
                                      }catch (SQLException e4) {
                                      System.out.println(e4.getMessage());
                                      }
                                      }
                                      });
                                      this.setVisible(true);
                                      }
                                      }
                                      //
                                      import java.sql.Connection;
                                      import java.sql.DriverManager;
                                      public class Base {
                                      public Connection conn;
                                      public void connexionBD(){
                                      /* Chargement de la Base de données */
                                      try{
                                      Class.forName("com.mysql.jdbc.Driver");
                                      } catch (Exception e) {
                                      System.out.println(" Erreur de chargement de la Base de données");
                                      e.getMessage();
                                      System.exit(0);
                                      }
                                      /* Connexion de la Base de données */
                                      try {
                                      String url = "jdbc:mysql://localhost/gesinscripion";
                                      String user = "root";
                                      String passwd ="";
                                      conn = DriverManager.getConnection(url, user, passwd);
                                       System.out.println("connection etablier");
                                      } catch (Exception e) {
                                      System.out.println(" Erreur de Connexion à la Base de données ");
                                      }
                                      }
                                      /* */
                                      public Connection getConnect(){
                                      return conn;
                                      }
                                      /* Deconnexion */
                                      public void Deconnexion(){
                                      try {
                                      conn.close();
                                      } catch (Exception e) {
                                      System.out.println(" Déconnexion Impossible ");
                                      }
                                      }
                                      }
                                      //
                                      public class Main {
                                      /**
                                      * @param args
                                      */
                                      public static void main(String[] args) {
                                      // TODO Auto-generated method stub
                                      Authentification aa =new Authentification();
                                      }
                                      }
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Authentification Java / Mysql

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown