0% found this document useful (0 votes)
11 views

Tutorials

Uploaded by

aksumgere
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Tutorials

Uploaded by

aksumgere
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

 Tutorials

 Downloads

C#, JAVA,PHP,
Programming ,Source Code
▶ Download Projects Source Code
Download now >>

 PROJECTS

 C#

 JAVA

 PHP

 VB.NET

 JAVASCRIPT

 DOWNLOADS
Search... ?

➜ Download 10 Java Projects Code ➜ Download 7 C# Projects Code ➜ Download 7 VB.Net Projects
Code ➜ Download 5 PHP Projects Code
C# Login And Register Form With MySQL
c# C# Login And Register Form With MySQL c# login form c# signup form Design
Login Form Design Register Form How To Make Login And Signup Form In
C# login register

How to Create Login and Register Form in C#


with MySQL Database

In This C# Tutorial We Will See How To Design a Login & Signup Form and Connect Those
Two Forms With MySQL Database To Allow The Users To Create Their Account or To Access
The Application Using C# Windows Form and Visual Studio Editor .

What We Are Gonna Use In This Project:


- Cshap Programming Language.
- Visual Studio Editor.
- xampp server.
- MySQL Database.
- PhpMyAdmin.
- Canva.com( to create the images )

What We Will Do In This Project:


- Design Two Forms For The Login and Register Using Panels, TextBoxes and Labels.
- Create Label To Close The Application On Click.
- Create a Class For The Connection With MySQL Database.
- Connect C# To MySQL Database, To Add The Created User Data In The Signup Form.
- Check If The User Leave Some Fields Empty or Filled With The PlaceHolder Data.
- Check if The Username Already Exists.

- Check If The User Enter a Wrong Password In The Confirmation Field.

WATCH THIS C# TUTORIAL

Project Source Code:

// ------ First We Need To Create a Class To Connect Our Application With The MySQL
Database
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace Csharp_Login_And_Register
{
/*
* we need to download the mysql connector
* add the connector to our project
* ( watch the video to see how )
* create a connection now with mysql
* open xampp and start mysql & apache
* go to phpmyadmin and create the users database
*/

class DB
{
// the connection
private MySqlConnection connection = new
MySqlConnection("server=localhost;port=3306;username=root;password=;database=csharp_
users_db");

// create a function to open the connection


public void openConnection()
{
if(connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
}

// create a function to close the connection


public void closeConnection()
{
if (connection.State == System.Data.ConnectionState.Open)
{
connection.Close();
}
}

// create a function to return the connection


public MySqlConnection getConnection()
{
return connection;
}
}
}

// ------ After Creating The Connection Class, Now We Need To Build a Register Form To
Allow Users To Create Their Account

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace Csharp_Login_And_Register
{
public partial class RegisterForm : Form
{
public RegisterForm()
{
InitializeComponent();
}

private void RegisterForm_Load(object sender, EventArgs e)


{
// remove the focus from the textboxes by making a label the active control
this.ActiveControl = label1;
}

// textbox first name ENTER


private void textBoxFirstname_Enter(object sender, EventArgs e)
{
String fname = textBoxFirstname.Text;
if(fname.ToLower().Trim().Equals("first name"))
{
textBoxFirstname.Text = "";
textBoxFirstname.ForeColor = Color.Black;
}
}

// textbox first name LEAVE


private void textBoxFirstname_Leave(object sender, EventArgs e)
{
String fname = textBoxFirstname.Text;
if (fname.ToLower().Trim().Equals("first name") || fname.Trim().Equals(""))
{
textBoxFirstname.Text = "first name";
textBoxFirstname.ForeColor = Color.Gray;
}
}

// textbox last name ENTER


private void textBoxLastname_Enter(object sender, EventArgs e)
{
String lname = textBoxLastname.Text;
if (lname.ToLower().Trim().Equals("last name"))
{
textBoxLastname.Text = "";
textBoxLastname.ForeColor = Color.Black;
}
}
// textbox last name LEAVE
private void textBoxLastname_Leave(object sender, EventArgs e)
{
String lname = textBoxLastname.Text;
if (lname.ToLower().Trim().Equals("last name") || lname.Trim().Equals(""))
{
textBoxLastname.Text = "last name";
textBoxLastname.ForeColor = Color.Gray;
}
}

// textbox email ENTER


private void textBoxEmail_Enter(object sender, EventArgs e)
{
String email = textBoxEmail.Text;
if (email.ToLower().Trim().Equals("email address"))
{
textBoxEmail.Text = "";
textBoxEmail.ForeColor = Color.Black;
}
}

// textbox email LEAVE


private void textBoxEmail_Leave(object sender, EventArgs e)
{
String email = textBoxEmail.Text;
if (email.ToLower().Trim().Equals("email address") || email.Trim().Equals(""))
{
textBoxEmail.Text = "email address";
textBoxEmail.ForeColor = Color.Gray;
}
}

// textbox username ENTER


private void textBoxUsername_Enter(object sender, EventArgs e)
{
String username = textBoxUsername.Text;
if (username.ToLower().Trim().Equals("username"))
{
textBoxUsername.Text = "";
textBoxUsername.ForeColor = Color.Black;
}
}

// textbox username LEAVE


private void textBoxUsername_Leave(object sender, EventArgs e)
{
String username = textBoxUsername.Text;
if (username.ToLower().Trim().Equals("username") || username.Trim().Equals(""))
{
textBoxUsername.Text = "username";
textBoxUsername.ForeColor = Color.Gray;
}
}

// textbox password ENTER


private void textBoxPassword_Enter(object sender, EventArgs e)
{
String password = textBoxPassword.Text;
if (password.ToLower().Trim().Equals("password"))
{
textBoxPassword.Text = "";
textBoxPassword.UseSystemPasswordChar = true;
textBoxPassword.ForeColor = Color.Black;
}
}

// textbox password LEAVE


private void textBoxPassword_Leave(object sender, EventArgs e)
{
String password = textBoxPassword.Text;
if (password.ToLower().Trim().Equals("password") || password.Trim().Equals(""))
{
textBoxPassword.Text = "password";
textBoxPassword.UseSystemPasswordChar = false;
textBoxPassword.ForeColor = Color.Gray;
}
}

// textbox confirm password ENTER


private void textBoxPasswordConfirm_Enter(object sender, EventArgs e)
{
String cpassword = textBoxPasswordConfirm.Text;
if (cpassword.ToLower().Trim().Equals("confirm password"))
{
textBoxPasswordConfirm.Text = "";
textBoxPasswordConfirm.UseSystemPasswordChar = true;
textBoxPasswordConfirm.ForeColor = Color.Black;
}
}

// textbox confirm password LEAVE


private void textBoxPasswordConfirm_Leave(object sender, EventArgs e)
{
String cpassword = textBoxPasswordConfirm.Text;
if (cpassword.ToLower().Trim().Equals("confirm password") ||
cpassword.ToLower().Trim().Equals("password") ||
cpassword.Trim().Equals(""))
{
textBoxPasswordConfirm.Text = "confirm password";
textBoxPasswordConfirm.UseSystemPasswordChar = false;
textBoxPasswordConfirm.ForeColor = Color.Gray;
}
}

// label close CLICK


private void labelClose_Click(object sender, EventArgs e)
{
//this.Close();
Application.Exit();
}

// label close MOUSE ENTER


private void labelClose_MouseEnter(object sender, EventArgs e)
{
labelClose.ForeColor = Color.Black;
}

// label close MOUSE LEAVE


private void labelClose_MouseLeave(object sender, EventArgs e)
{
labelClose.ForeColor = Color.White;
}

// button signup
private void buttonCreateAccount_Click(object sender, EventArgs e)
{
// add a new user

DB db = new DB();
MySqlCommand command = new MySqlCommand("INSERT INTO
`users`(`firstname`, `lastname`, `emailaddress`, `username`, `password`) VALUES (@fn, @ln,
@email, @usn, @pass)", db.getConnection());

command.Parameters.Add("@fn", MySqlDbType.VarChar).Value =
textBoxFirstname.Text;
command.Parameters.Add("@ln", MySqlDbType.VarChar).Value =
textBoxLastname.Text;
command.Parameters.Add("@email", MySqlDbType.VarChar).Value =
textBoxEmail.Text;
command.Parameters.Add("@usn", MySqlDbType.VarChar).Value =
textBoxUsername.Text;
command.Parameters.Add("@pass", MySqlDbType.VarChar).Value =
textBoxPassword.Text;

// open the connection


db.openConnection();

// check if the textboxes contains the default values


if (!checkTextBoxesValues())
{
// check if the password equal the confirm password
if(textBoxPassword.Text.Equals(textBoxPasswordConfirm.Text))
{
// check if this username already exists
if (checkUsername())
{
MessageBox.Show("This Username Already Exists, Select A Different
One","Duplicate Username",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);
}
else
{
// execute the query
if (command.ExecuteNonQuery() == 1)
{
MessageBox.Show("Your Account Has Been Created","Account
Created",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("ERROR");
}
}
}
else
{
MessageBox.Show("Wrong Confirmation Password","Password
Error",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);
}

}
else
{
MessageBox.Show("Enter Your Informations First","Empty
Data",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);
}

// close the connection


db.closeConnection();

// check if the username already exists


public Boolean checkUsername()
{
DB db = new DB();

String username = textBoxUsername.Text;

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM `users`


WHERE `username` = @usn", db.getConnection());

command.Parameters.Add("@usn", MySqlDbType.VarChar).Value = username;

adapter.SelectCommand = command;

adapter.Fill(table);

// check if this username already exists in the database


if (table.Rows.Count > 0)
{
return true;
}
else
{
return false;
}

// check if the textboxes contains the default values


public Boolean checkTextBoxesValues()
{
String fname = textBoxFirstname.Text;
String lname = textBoxLastname.Text;
String email = textBoxEmail.Text;
String uname = textBoxUsername.Text;
String pass = textBoxPassword.Text;

if(fname.Equals("first name") || lname.Equals("last name") ||


email.Equals("email address") || uname.Equals("username")
|| pass.Equals("password"))
{
return true;
}
else
{
return false;
}

}
// label go to the login form MOUSE ENTER
private void labelGoToLogin_MouseEnter(object sender, EventArgs e)
{
labelGoToLogin.ForeColor = Color.Yellow;
}

// label go to the login form MOUSE LEAVE


private void labelGoToLogin_MouseLeave(object sender, EventArgs e)
{
labelGoToLogin.ForeColor = Color.White;
}

// label go to the login form CLICK


private void labelGoToLogin_Click(object sender, EventArgs e)
{
this.Hide();
LoginForm loginform = new LoginForm();
loginform.Show();
}

}
}

// ------ After The User Have Created His Acoount, He Need To Login To The Application, So
Let's Create The Login Form.
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Csharp_Login_And_Register
{
public partial class LoginForm : Form
{

public LoginForm()
{
InitializeComponent();

// set the autosize for the password to false


this.textBoxPassword.AutoSize = false;

// set the the height of the password to 50


this.textBoxPassword.Size = new Size(this.textBoxPassword.Size.Width, 50);
}

// label close MOUSE ENTER


private void labelClose_MouseEnter(object sender, EventArgs e)
{
labelClose.ForeColor = Color.Black;
}

// label close MOUSE LEAVE


private void labelClose_MouseLeave(object sender, EventArgs e)
{
labelClose.ForeColor = Color.White;
}

// label close CLICK


private void labelClose_Click(object sender, EventArgs e)
{
//this.Close();
Application.Exit();
}

// button login
private void buttonLogin_Click(object sender, EventArgs e)
{
DB db = new DB();

String username = textBoxUsername.Text;


String password = textBoxPassword.Text;

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM `users`


WHERE `username` = @usn and `password` = @pass", db.getConnection());
command.Parameters.Add("@usn", MySqlDbType.VarChar).Value = username;
command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = password;

adapter.SelectCommand = command;

adapter.Fill(table);

// check if the user exists or not


if (table.Rows.Count > 0)
{
this.Hide();
MainForm mainform = new MainForm();
mainform.Show();
}
else
{
// check if the username field is empty
if(username.Trim().Equals(""))
{
MessageBox.Show("Enter Your Username To Login","Empty
Username",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
// check if the password field is empty
else if (password.Trim().Equals(""))
{
MessageBox.Show("Enter Your Password To Login", "Empty Password",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}

// check if the username or the password don't exist


else
{
MessageBox.Show("Wrong Username Or Password", "Wrong Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

// label go to signup CLICK


private void labelGoToSignUp_Click(object sender, EventArgs e)
{
this.Hide();
RegisterForm registerform = new RegisterForm();
registerform.Show();
}

// label go to signup MOUSE ENTER


private void labelGoToSignUp_MouseEnter(object sender, EventArgs e)
{
labelGoToSignUp.ForeColor = Color.Yellow;
}

// label go to signup MOUSE LEAVE


private void labelGoToSignUp_MouseLeave(object sender, EventArgs e)
{
labelGoToSignUp.ForeColor = Color.White;
}
}
}
OUTPUT:
Register Form

Error Message If The Fields Are Empty


Error Message If The User Enter a Different Password In The Confirmation

You might also like