[resolvido]login

8 respostas
M

Boas. Estou a fazer um login e tenho 2 tipos de login na BD, o administrador, que entra para uma pagina e todos os outros utilizadores que entram numa pagina diferente mas sempre que entro com o administrador manda-me para a pagina dos utilizadores normais.

String pass;
   String username;
   username=jTextField1.getText();
   pass=jPasswordField1.getText();
    
       String sql="select * from login where username=? and pass=?";
          try{
            pst=con.prepareStatement(sql);
            pst.setString(1,jTextField1.getText());
            pst.setString(2,jPasswordField1.getText());
            rs=pst.executeQuery();
        
              if(username=="administrador" && pass=="qwerty"){
                        ola s=new ola(con);
                        s.setVisible(true);
                        dispose(); 
                                                         }
           
                 if(rs.next()){
                   JOptionPane.showMessageDialog(null, "Bem vindo "+username+" ");
                   pagprincipal fentrada=new pagprincipal(con);    
                   fentrada.setVisible(true);
                   dispose();
                              }
                else{
                   JOptionPane.showMessageDialog(null, "Utilizador ou password incorretas");
                    }
              }
            catch(Exception e){  
            JOptionPane.showMessageDialog(null,e);
                              }

Alguem pode ajudar??

8 Respostas

F

Cara tenta assim…

if(rs.next()){ 
                        if(username=="administrador" && pass=="qwerty"){  
                        ola s=new ola(con);  
                        s.setVisible(true);  
                        dispose();   
                 } else { 
                     JOptionPane.showMessageDialog(null, "Bem vindo "+username+" ");  
                     pagprincipal fentrada=new pagprincipal(con);      
                     fentrada.setVisible(true);  
                     dispose(); 
}
S

Lembre-se, quando for comparar String você deve utilizar o metodo equals(object) e não ==.

No caso:

if(username=="administrador" && pass=="qwerty")
M

Obrigado, esta a dar certo. Secalhar é melhor tirar a pass do codigo porque o admin pode querer mudar a pass algum dia e como o username é chave primaria nao pode existir outro utilizador com o mesmo nome

charleston10

Sem_Nome:
Lembre-se, quando for comparar String você deve utilizar o metodo equals(object) e não ==.

No caso:

if(username=="administrador" && pass=="qwerty")

QUE ISSO JOVEM?

S

charleston10:
Sem_Nome:
Lembre-se, quando for comparar String você deve utilizar o metodo equals(object) e não ==.

No caso:

if(username=="administrador" && pass=="qwerty")

QUE ISSO JOVEM?

Estou apontando a ele que do jeito que ele fez, usar == para comparar Strings (ou qualquer outro tipo de objeto), está errado. Ao menos, não trará o resultado desejado.

E também esqueci de dizer que é uma boa prática sempre invocar o metodo equals da constante, para evitar um NullPointerException.

M

Sim é certo, nao tinha reparado nesse pormenor, se voce nao me tivesse dito provavelmente ia estar aqui montes de tempo ate reparar

charleston10

Sem_Nome:
charleston10:
Sem_Nome:
Lembre-se, quando for comparar String você deve utilizar o metodo equals(object) e não ==.

No caso:

if(username=="administrador" && pass=="qwerty")

QUE ISSO JOVEM?

Estou apontando a ele que do jeito que ele fez, usar == para comparar Strings (ou qualquer outro tipo de objeto), está errado. Ao menos, não trará o resultado desejado

E também esqueci de dizer que é uma boa prática sempre invocar o metodo equals da constante, para evitar um NullPointerException.

Sim, voce ta certo, nao to falando oq vc comentou, mas o codigo com ==…

S

Hehe é que você deu um quote na minha resposta então pensei que era direcionada para mim.

Criado 23 de abril de 2013
Ultima resposta 23 de abr. de 2013
Respostas 8
Participantes 4