Sorry wenn ich das Alte mal hoch push aber ich brauche es gerade. Das Programm weißt Fehler auf, es funktioniert nicht. Bei der Registrierung bekommt man garkeine Meldung.
Beim Einloggen ( ohne Daten anzugeben bekommt man die Meldung, dass die Daten nicht stimmen > MySQL verbindung.)
Hier der CODE fürs Einloggen:
Quote:
Imports System.Security.Cryptography
Imports System.Text
Imports MySql.Data.MySqlClient
Module md51
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
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conn As MySqlConnection
conn = New MySqlConnection
conn.ConnectionString = "server=ZENSIERT;" _
& "user id=ZENSIERT;" _
& "password=ZENSIERT;" _
& "database=ZENSIERT"
Try
conn.Open()
Catch myerror As MySqlException
MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
End Try
Dim benutzer As String = MD51StringHash(txt_benutzer.Text)
Dim passwort As String = MD5S1tringHash(txt_passwort.Text)
Dim myAdapter As New MySqlDataAdapter
Dim SQLAbfrage As String = "SELECT * FROM login WHERE Benutzername='" + Replace(benutzer, " ", "") + "' AND Passwort='" & Replace(passwort, " ", "") & "'"
Dim myCommand As New MySqlCommand
myCommand.Connection = conn
myCommand.CommandText = SQLAbfrage
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
If myData.HasRows Then
MsgBox("Einloggen erfolgreich !")
conn.Close()
conn.Open()
Else
MsgBox("Fehler Code 2 : Falsche Daten")
End If
End Sub
Private Sub Label1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.TextChanged
Label1.Text = "Benutzername:"
End Sub
Private Sub Label2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.TextChanged
Label2.Text = "Passwort:"
End Sub
Private Sub Button1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.TextChanged
Button1.Text = "Anmelden"
End Sub
Private Sub Button2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.TextChanged
Button2.Text = "Registrieren"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form2.Show()
End Sub
Private Function MD51StringHash(ByVal p1 As String) As String
Throw New NotImplementedException
End Function
Private Function MD5S1tringHash(ByVal p1 As String) As String
Throw New NotImplementedException
End Function
End Class
|
INFO: ICH HABE MD5 EXTRA in MD51 unbenannt, weil sonst fehler enstanden sind, weil dieses 2mal vorkam. Einmal Form1 und zweites Mal Form2.
Hier die Registrierung:
Quote:
Imports System.Security.Cryptography
Imports System.Text
Imports MySql.Data.MySqlClient
Module md52
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
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If txt_passwort.Text = txt_passwort_w.Text Then
If txt_email.Text.Contains("@") And txt_email_w.Text.Contains("@") Then
If txt_email.Text = txt_email_w.Text Then
Dim conn As MySqlConnection
conn = New MySqlConnection
conn.ConnectionString = "server=ZENSIERT;" _
& "user id=ZENSIERT;" _
& "password=ZENSIERT;" _
& "database=ZENSIERT"
Try
conn.Open()
Catch myerror As MySqlException
MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
End Try
Dim myAdapter As New MySqlDataAdapter
Dim SQLAbfrage As String = "SELECT * FROM login WHERE Benutzername='" + txt_benutzer.Text + "'" ' Erstmal eine SQL Abfrage die überprüft ob es den Benutzernamen schon gibt
Dim myCommand As New MySqlCommand
myCommand.Connection = conn
myCommand.CommandText = SQLAbfrage
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
If myData.HasRows = 0 Then
conn.Close()
conn.Open()
Dim registerfinal As New MySqlDataAdapter
Dim benutzer As String = MD52StringHash(txt_benutzer.Text)
Dim passwort As String = MD52StringHash(txt_passwort.Text)
myCommand.CommandText = "INSERT INTO benutzer(Benutzername, Passwort, Email)" _
& "VALUES('" & benutzer & "','" & passwort & "','" & txt_email.Text & "')"
myCommand.ExecuteNonQuery()
MsgBox("Der Account mit dem Namen : " & txt_benutzer.Text & " wurde erfolgreich erstellt")
conn.Close()
Else
MsgBox("Dieser Benutzername existiert bereits")
End If
Else
MsgBox("Die eingegebenen Emails stimmen nicht über ein !")
End If
Else
MsgBox("Die eingegebenen E-Mails sind ungültig !")
End If
Else
MsgBox("Die eingegebenen Passwörter stimmen nicht überein")
End If
End Sub
Private Sub Label1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.TextChanged
Label1.Text = "Benutzername:"
End Sub
Private Sub Label2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label2.TextChanged
Label2.Text = "Passwort:"
End Sub
Private Sub Label3_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label3.TextChanged
Label3.Text = "Bestätige das Passwort:"
End Sub
Private Sub Label4_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label4.TextChanged
Label4.Text = "E-Mail:"
End Sub
Private Sub Label5_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label5.TextChanged
Label5.Text = "Bestätige deine E-Mail:"
End Sub
Private Sub Button1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.TextChanged
Button1.Text = "Registrieren"
End Sub
Private Sub Button2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.TextChanged
Button2.Text = "Abbrechen"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Private Function MD52StringHash(ByVal p1 As String) As String
Throw New NotImplementedException
End Function
End Class
|
Danke fürs Anschauen!
MFG