You are viewing our Forum Archives. To view or take place in current topics click here.
[VB.NET][MySQL]Login + Register Class
Posted:
[VB.NET][MySQL]Login + Register ClassPosted:
Status: Offline
Joined: Oct 12, 200914Year Member
Posts: 3,791
Reputation Power: 276
Status: Offline
Joined: Oct 12, 200914Year Member
Posts: 3,791
Reputation Power: 276
Yo today I will show you a awesome TuT on how to make a register system belonging to some Login System..
Some people ask, if there's a register system belonging to some Login Systems, so I wrote a little Class which allows you to do that.
Current Solutions For Error's
Ok, if u have some error's with (anytype of this) " MySql.Data.MySqlClient"
Then download the MySql.Data.dll(At Requirements) OR [ [ Register or Signin to view external links. ] ]
Then add it into your project : Project > Add Existing Item > Filter so you can select a .DLL > Navigate to MySql.Data.dll > Add It , Now the most errors should be gone!
Got still error's?
Download the source below the thread.(U can mod it if u want.)
Introducing
This is a VB.NET Class, which allows your users to register an account, which gets saved on a MySQL Database online, so they can login everywhere.
It includes MD5 hashing of your password and usernames to increase the securtity.
Requirements
Getting Started
At first you need to create the needed databases. Use this as SQL command. Go to your PHPMyAdmin, select your database and click on SQL. ( [ Register or Signin to view external links. ] )
Add this:
press OK and submit.
Then add the MD5 Module to your project: ( Credits go to: [ Register or Signin to view external links. ] )
Then the Registering class RegSys.vb:
The rest is quite easy, you just need to set the connection from the class and reference the textboxes.
The register Form should look like this:
[ Register or Signin to view external links. ]
The code for registering is:
Put this into the Button Sub! On SetConnectionData replace 12.345.678.910 with your Server ip! Username and password are replaced with your database username and password and database is the database where you created the table.
Also replace the textboxes with the names of yours. (TextBox1 = username, TextBox2 = password, TextBox3 = Retyped password)
The Login Form should look like this:
[ Register or Signin to view external links. ]
The code for logging in is: ( Nearly the same )
SetConnectionData will be the same like registering. Also the TextBoxes. (TextBox1 = username, TextBox2 = password)
If anything is unclear, look at the comments in the class or ask here
Download Source
[ Register or Signin to view external links. ]
Some people ask, if there's a register system belonging to some Login Systems, so I wrote a little Class which allows you to do that.
Current Solutions For Error's
Ok, if u have some error's with (anytype of this) " MySql.Data.MySqlClient"
Then download the MySql.Data.dll(At Requirements) OR [ [ Register or Signin to view external links. ] ]
Then add it into your project : Project > Add Existing Item > Filter so you can select a .DLL > Navigate to MySql.Data.dll > Add It , Now the most errors should be gone!
Got still error's?
Download the source below the thread.(U can mod it if u want.)
Introducing
This is a VB.NET Class, which allows your users to register an account, which gets saved on a MySQL Database online, so they can login everywhere.
It includes MD5 hashing of your password and usernames to increase the securtity.
Requirements
- VB.NET Ide
- Basic Knowledge of VB.NET
- MySQL DLL for VB [ [ Register or Signin to view external links. ] ] [ [ Register or Signin to view external links. ] ]
- A MySQL Database, which allows external acess ( Ohost/Funpic don't ) ( Just google or use something like [ Register or Signin to view external links. ] )
Getting Started
At first you need to create the needed databases. Use this as SQL command. Go to your PHPMyAdmin, select your database and click on SQL. ( [ Register or Signin to view external links. ] )
Add this:
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`ID` int(5) NOT NULL auto_increment,
`username` varchar(255) default NULL,
`password` varchar(255) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
press OK and submit.
Then add the MD5 Module to your project: ( Credits go to: [ Register or Signin to view external links. ] )
Imports System.Security.Cryptography
Imports System.Text
Module MD5SECURITY
Public Function MD5StringHash(ByVal strString As String) As String
Dim MD5 As New MD5CryptoServiceProvider
Dim Data As Byte()
Dim Result As Byte()
Dim Res As String = ""
Dim Tmp As String = ""
Data = Encoding.ASCII.GetBytes(strString)
Result = MD5.ComputeHash(Data)
For i As Integer = 0 To Result.Length - 1
Tmp = Hex(Result(i))
If Len(Tmp) = 1 Then Tmp = "0" & Tmp
Res += Tmp
Next
Return Res
End Function
End Module
Then the Registering class RegSys.vb:
Imports MySql.Data.MySqlClient
Public Class RegSys
Private _connection As MySqlConnection = New MySqlConnection
Private _adapter As New MySqlDataAdapter
Private _query As String
Private _command As New MySqlCommand
Private _user As String
Private _password(2) As String
Public _continue As Boolean = False
Public Function SetConnectionData(ByVal ip As String, ByVal username As String, ByVal pw As String, ByVal database As String)
_connection.ConnectionString = "server=" & ip & ";" _
& "user id=" & username & ";" _
& "password=" & pw & ";" _
& "database=" & database
End Function
Public Function InitializeLogin(ByVal usernametextbox As TextBox, ByVal pwtextbox As TextBox)
_user = MD5StringHash(usernametextbox.Text)
_password(0) = MD5StringHash(pwtextbox.Text)
Try
_connection.Open() ' Try to connect
Catch myerror As MySqlException
MsgBox("No Connection to the Database!", MsgBoxStyle.Critical, "Fatal Error!") ' If the person fails to connect
End Try
_query = "SELECT * FROM users WHERE username ='" + Replace(_user, " ", "") + "' AND password='" & Replace(_password(0), " ", "") & "'"
_command.Connection = _connection
_command.CommandText = _query
_adapter.SelectCommand = _command
Dim _myData As MySqlDataReader
_myData = _command.ExecuteReader() ' Start of the query
If _myData.HasRows Then ' If the query contains rows ( the password and username were right )
MsgBox("Logon sucessful!")
_connection.Close()
_continue = True
Else ' If username / password are wrong
MsgBox("Error! Wrong username/password!")
_continue = False
End If
End Function
Public Function InitializeRegister(ByVal usernametextbox As TextBox, ByVal pw1textbox As TextBox, ByVal pw2textbox As TextBox)
_user = MD5StringHash(usernametextbox.Text)
_password(0) = MD5StringHash(pw1textbox.Text)
_password(1) = MD5StringHash(pw2textbox.Text)
If _password(0) = _password(1) Then ' If the textboxes passwords are the same
Try
_connection.Open() ' Open the connection
Catch myerror As MySqlException
MsgBox("No connection to the database!", MsgBoxStyle.Critical, "Fatal Error!")
End Try
Dim myAdapter As New MySqlDataAdapter
Dim SQLAbfrage As String = "SELECT * FROM users WHERE username='" + _user + "'" ' Query if the user already exists
Dim _tmp_myCommand As New MySqlCommand
_tmp_myCommand.Connection = _connection
_tmp_myCommand.CommandText = SQLAbfrage
myAdapter.SelectCommand = _tmp_myCommand
Dim myData As MySqlDataReader
myData = _tmp_myCommand.ExecuteReader() ' Start query
If myData.HasRows = 0 Then ' If the username already exists it won't begin with the registration
_connection.Close()
_connection.Open()
Dim registerfinal As New MySqlDataAdapter
_tmp_myCommand.CommandText = "INSERT INTO users(username, password)" _
& "VALUES('" & _user & "','" & _password(0) & "')"
_tmp_myCommand.ExecuteNonQuery() ' Start SQL query and insert
MsgBox("The account with the name: " & usernametextbox.Text & " was created sucessfully!", MsgBoxStyle.Information, "Yep =)")
_connection.Close()
Else
MsgBox("This username does already exist", MsgBoxStyle.Information, "Sorry")
End If
Else
MsgBox("The passwords did not match!", MsgBoxStyle.Critical, "Error!")
End If
End Function
End Class
The rest is quite easy, you just need to set the connection from the class and reference the textboxes.
The register Form should look like this:
[ Register or Signin to view external links. ]
The code for registering is:
Dim myRegSys As New RegSys
myRegSys.SetConnectionData("12.345.678.910", "username", "password", "database")
myRegSys.InitializeRegister(TextBox1, TextBox2, TextBox3)
Put this into the Button Sub! On SetConnectionData replace 12.345.678.910 with your Server ip! Username and password are replaced with your database username and password and database is the database where you created the table.
Also replace the textboxes with the names of yours. (TextBox1 = username, TextBox2 = password, TextBox3 = Retyped password)
The Login Form should look like this:
[ Register or Signin to view external links. ]
The code for logging in is: ( Nearly the same )
Dim myRegSys As New RegSys
myRegSys.SetConnectionData("12.345.678.910", "username", "password", "database")
myRegSys.InitializeLogin(TextBox1, TextBox2)
SetConnectionData will be the same like registering. Also the TextBoxes. (TextBox1 = username, TextBox2 = password)
If anything is unclear, look at the comments in the class or ask here
Download Source
[ Register or Signin to view external links. ]
#2. Posted:
Status: Offline
Joined: May 19, 201113Year Member
Posts: 1
Reputation Power: 0
Thanks, it didnt work for me yet. And the link to the source is dead, but thanks.
It keeps saying: Connection must be valid and open.
I'm using mySQL of 000webhost, which works fine usually :O
It keeps saying: Connection must be valid and open.
I'm using mySQL of 000webhost, which works fine usually :O
- 0useful
- 0not useful
You are viewing our Forum Archives. To view or take place in current topics click here.