using System.Collections.Generic;
using System.ComponentModel;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace WindowsFormsApp1
public partial class SignUp : Form
private void SignUp_Load(object sender, EventArgs e)
this.ActiveControl = CreateYourAccountLabel;
private void CloseCreateUser_Click(object sender, EventArgs e)
private void CreateUsernameTextBox_TextChanged(object sender, EventArgs e)
private void CreateUsernameTextBox_Enter(object sender, EventArgs e)
String Uname = CreateUsernameTextBox.Text;
if (Uname.Trim().Equals("Username"))
CreateUsernameTextBox.Text = "";
CreateUsernameTextBox.ForeColor = Color.Black;
private void CreateUsernameTextBox_Leave(object sender, EventArgs e)
String Uname = CreateUsernameTextBox.Text;
if (Uname.Trim().Equals("Username") || Uname.Trim().Equals(""))
CreateUsernameTextBox.Text = "Username";
CreateUsernameTextBox.ForeColor = Color.Gray;
private void SubmitUser_Click(object sender, EventArgs e)
MySqlCommand command = new MySqlCommand("INSERT INTO `users`(`username`, `password`) VALUES (@usn, @pass)", db.GetConnection());
command.Parameters.Add("@usn", MySqlDbType.VarChar).Value = CreateUsernameTextBox.Text;
command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = CreatePasswordTextBox.Text;
if(!checkTextBoxForBadChar())
if(!checkTextBoxesValues())
if(CreatePasswordTextBox.Text.Equals(CreateConfirmPasswordTextBox.Text))
MessageBox.Show("This Username is Already Taken. Please Select a Different one!", "Duplicate Username",MessageBoxButtons.OK,MessageBoxIcon.Error);
if (command.ExecuteNonQuery() == 1)
MessageBox.Show("Account Created", "Account",MessageBoxButtons.OK,MessageBoxIcon.Information);
MessageBox.Show("ERROR");
MessageBox.Show("Wrong Passwords", "Password Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
MessageBox.Show("Enter Your Own Information first!", "Invalid Information", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("These characters are not allowed.\n\n , ; . : - _ / @ ! ( ) ", "Invalid Characters", MessageBoxButtons.OK, MessageBoxIcon.Error);
private void CreatePasswordTextBox_TextChanged(object sender, EventArgs e)
private void CreateConfirmPasswordTextBox_TextChanged(object sender, EventArgs e)
private void CreatePasswordTextBox_Enter(object sender, EventArgs e)
String Pass = CreatePasswordTextBox.Text;
if (Pass.Trim().Equals("Password"))
CreatePasswordTextBox.Text = "";
CreatePasswordTextBox.UseSystemPasswordChar = true;
CreatePasswordTextBox.ForeColor = Color.Black;
private void CreatePasswordTextBox_Leave(object sender, EventArgs e)
String Pass = CreatePasswordTextBox.Text;
if (Pass.Trim().Equals("Password") || Pass.Trim().Equals(""))
CreatePasswordTextBox.Text = "Password";
CreatePasswordTextBox.UseSystemPasswordChar = false;
CreatePasswordTextBox.ForeColor = Color.Gray;
private void CreateConfirmPasswordTextBox_Enter(object sender, EventArgs e)
String CPass = CreateConfirmPasswordTextBox.Text;
if (CPass.Trim().Equals("Confirm Password"))
CreateConfirmPasswordTextBox.Text = "";
CreateConfirmPasswordTextBox.UseSystemPasswordChar = true;
CreateConfirmPasswordTextBox.ForeColor = Color.Black;
private void CreateConfirmPasswordTextBox_Leave(object sender, EventArgs e)
String CPass = CreateConfirmPasswordTextBox.Text;
if (CPass.ToLower().Trim().Equals("confirm password") ||
CPass.ToLower().Trim().Equals("password") ||
CreateConfirmPasswordTextBox.Text = "Confirm Password";
CreateConfirmPasswordTextBox.UseSystemPasswordChar = false;
CreateConfirmPasswordTextBox.ForeColor = Color.Gray;
public Boolean checkUsername()
String username = CreateUsernameTextBox.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;
if (table.Rows.Count > 0)
public Boolean checkPassword()
String password = CreatePasswordTextBox.Text;
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `password` = @pass", db.GetConnection());
command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = password;
adapter.SelectCommand = command;
if (table.Rows.Count > 0)
public Boolean checkTextBoxesValues()
String CheckUsername = CreateUsernameTextBox.Text;
String CheckPassword = CreatePasswordTextBox.Text;
if(CheckUsername.Equals("Username") || CheckPassword.Equals("Password"))
public Boolean checkTextBoxForBadChar()
String CheckUsername = CreateUsernameTextBox.Text;
String CheckPassword = CreatePasswordTextBox.Text;
if (CheckUsername.Contains(",")|| CheckPassword.Contains(",") || (CheckUsername.Contains(";") || CheckPassword.Contains(";") || (CheckUsername.Contains(".") || CheckPassword.Contains(".") || (CheckUsername.Contains(":") || CheckPassword.Contains(":") || (CheckUsername.Contains("-") || CheckPassword.Contains("-") || (CheckUsername.Contains("_") || CheckPassword.Contains("_") || (CheckUsername.Contains("/") || CheckPassword.Contains("/") || (CheckUsername.Contains("@") || CheckPassword.Contains("@") || (CheckUsername.Contains("!") || CheckPassword.Contains("!")) || (CheckUsername.Contains("(") || CheckPassword.Contains("(")) || (CheckUsername.Contains(")") || CheckPassword.Contains(")"))))))))))
private void SubmitUser_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Enter)
SubmitUser.PerformClick();
private void CreateUsernameTextBox_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Enter)
e.SuppressKeyPress = true;
SubmitUser.PerformClick();
private void CreatePasswordTextBox_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Enter)
e.SuppressKeyPress = true;
SubmitUser.PerformClick();
private void CreateConfirmPasswordTextBox_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Enter)
e.SuppressKeyPress = true;
SubmitUser.PerformClick();