How To Make SignUp And SignIn Form In Java Using NetBeans With MySQL DataBase
in a previous Java tutorial we did a login and register form design ( video link: https://youtu.be/XAowXcmQ-kA ),
and in this one will see how to connect the login and signup form with a mysql database
to do that you need to download mysql connector, watch tutorial from here: https://www.youtube.com/watch?v=zM7oe2_S-jY
and add it to your project
we will ceate a class (MyConnection) to connect our login and register forms with mysql database
in the register form wi will create a function (checkUsername) to check if the username you want to register is already exists in the database table
what we will check when the user click on the register button:
- if the username jtextfield is empty
- if the password jtextfield is empty
- if the retype_password text is equal to the password text
- if the username already exists in the database using the "checkUsername" function
- if the jdatechooser is empty
in the login fom it's simple;
the user enter his login and password and click on the login button,
and all we have to do is to check if a user with this username and password already exists on the database, and if the user don't exists show a warning message , else show a new form with the user username displayed on a jlabel.
Project Source Code:
------------ Create A Class "MyConnection" To Connect Our Forms With Database
import java.sql.Connection;
import java.sql.DriverManager;
/**
*
* @author 1BestCsharp
*/
public class MyConnection {
// create a function to connect with mysql database
public static Connection getConnection(){
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/java_login_register", "root", "");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return con;
}
}
------------ On The Register Form ------------
// function to check if the username already exist in database table
public boolean checkUsername(String username)
{
PreparedStatement ps;
ResultSet rs;
boolean checkUser = false;
String query = "SELECT * FROM `the_app_users` WHERE `u_uname` =?";
try {
ps = MyConnection.getConnection().prepareStatement(query);
ps.setString(1, username);
rs = ps.executeQuery();
if(rs.next())
{
checkUser = true;
}
} catch (SQLException ex) {
Logger.getLogger(RegisterForm.class.getName()).log(Level.SEVERE, null, ex);
}
return checkUser;
}
// on the register button click
private void jButton_Register_ActionPerformed(java.awt.event.ActionEvent evt) {
String fname = jTextField_FN.getText();
String lname = jTextField_LN.getText();
String uname = jTextField_UN.getText();
String pass = String.valueOf(jPasswordField_PASS.getPassword());
String re_pass = String.valueOf(jPasswordField_REPASS.getPassword());
String bdate = null;
String address = jTextArea_ADDRESS.getText();
if(uname.equals(""))
{
JOptionPane.showMessageDialog(null, "Add A Username");
}
else if(pass.equals(""))
{
JOptionPane.showMessageDialog(null, "Add A Password");
}
else if(!pass.equals(re_pass))
{
JOptionPane.showMessageDialog(null, "Retype The Password Again");
}
else if(checkUsername(uname))
{
JOptionPane.showMessageDialog(null, "This Username Already Exist");
}
else{
if(jDateChooser_BDATE.getDate() != null)
{
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
bdate = dateformat.format(jDateChooser_BDATE.getDate());
}
PreparedStatement ps;
String query = "INSERT INTO `the_app_users`(`u_fname`, `u_lname`, `u_uname`, `u_pass`, `u_bdate`, `u_address`) VALUES (?,?,?,?,?,?)";
try {
ps = MyConnection.getConnection().prepareStatement(query);
ps.setString(1, fname);
ps.setString(2, lname);
ps.setString(3, uname);
ps.setString(4, pass);
if(bdate != null)
{
ps.setString(5, bdate);
}else{
ps.setNull(5, 0);
}
ps.setString(6, address);
if(ps.executeUpdate() > 0)
{
JOptionPane.showMessageDialog(null, "New User Add");
}
} catch (SQLException ex) {
Logger.getLogger(RegisterForm.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
------------ On The Login Form ------------
// on the login button click
private void jButton_LOGINActionPerformed(java.awt.event.ActionEvent evt) {
PreparedStatement ps;
ResultSet rs;
String uname = jTextField1.getText();
String pass = String.valueOf(jPasswordField1.getPassword());
String query = "SELECT * FROM `the_app_users` WHERE `u_uname` =? AND `u_pass` =?";
try {
ps = MyConnection.getConnection().prepareStatement(query);
ps.setString(1, uname);
ps.setString(2, pass);
rs = ps.executeQuery();
if(rs.next())
{
HOME_JFrame mf = new HOME_JFrame();
mf.setVisible(true);
mf.pack();
mf.setLocationRelativeTo(null);
mf.setExtendedState(JFrame.MAXIMIZED_BOTH);
mf.jLabel1.setText("Welcome < "+uname+" >");
this.dispose();
}
else{
JOptionPane.showMessageDialog(null, "Incorrect Username Or Password", "Login Failed", 2);
}
} catch (SQLException ex) {
Logger.getLogger(LoginForm.class.getName()).log(Level.SEVERE, null, ex);
}
}
////// OUTPUT :
11 comments
commentsthank you admin
Replythanks sir for the source. Keep up the good work
ReplyThank you for this source code sir! God bless you more.
ReplyIt is very useful for my project
ReplyThank you for your open source code
Can u send this project but on my email
ReplyHello sir, I was unable to understand it. Could you please explain in a simple way or make a signup/login system. Please awaiting your response.
ReplyMail- hindigayanonline@gmail.com
Sir plzz tell me login and registeration page is a menagment system project?
ReplyHii Mates i need help to write scripts for signup and login by hover popup could anyone help me by online
ReplyBro I apply same as you did but it give me this error while compiling.
ReplyError: Could not find or load main class Logiin
Caused by: java.lang.ClassNotFoundException: Logiin
Command execution failed.
great post
ReplyExcellent . Help full this post ❤️🔥
Reply