Gian7 Gian7 - 3 months ago 11
Java Question

How to verify username and password in Java-mysql?

How do I verify in the most right way the username and password that were inputted by the user to the database?

In c++, we used to verify by using if-else:
if((user == "username")&&(pass == "password")){
cout<<"You are now logon!";
}


In java-mysql I'm not sure if I'm on the right track:

Login Button

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

user = jTextField1.getText();
pass = jPasswordField1.getPassword();
login();
}


Method/function

private void login() {

try {
if (user != null) {
sql = "Select * from users_table Where username='" + user + "'";
rs = stmt.executeQuery(sql);

rs.next();
username = rs.getString("username");
password = rs.getString("password");

}
}
catch (SQLException err) {
JOptionPane.showMessageDialog(this, err.getMessage());
}

}


If the username and password that inputted by the user matched with the ones in the database then he will be directed to a new jFrame else
message dialog will popup saying invalid username or password. Can someone help me with my codes, I don't know how to use the if-else statement with mysql;

Thanks! :)

Answer

Implement the below code:

private void login() {
    try {
        if (user != null && pass != null) {
            String sql = "Select * from users_table Where username='" + user + "' and password='" + pass + "'";
            rs = stmt.executeQuery(sql);
            if (rs.next()) {
                //in this case enter when at least one result comes it means user is valid
            } else {
                //in this case enter when  result size is zero  it means user is invalid
            }
        }

        // You can also validate user by result size if its comes zero user is invalid else user is valid

    } catch (SQLException err) {
        JOptionPane.showMessageDialog(this, err.getMessage());
    }

}
Comments