Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 00:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[How To]Login und Registrierung in ein Programm einbauen

Discussion on [How To]Login und Registrierung in ein Programm einbauen within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
[How To]Login und Registrierung in ein Programm einbauen

Hallo,

In diesem Tutorial zeig ich euch wie ihr einen Login + Registrierung mit MYSQL programmiert.

1. Was brauchen wir?
Eine Mysql Datenbank die Externen Zugriff Erlaubt, die bekommen wir z.b. hier kostenlos:
MYSQL



2. Tabelle in Datenbank anlegen
Ihr geht auf
Da loggt ihr euch ein!


Dann wählt ihr eure Datenbank aus!


Dann klickt ihr auf das sql zeichen!



Dann sollte sich ein Fenster öffnen und da gebt ihr folgendes ein und klick OK!
Code:
CREATE TABLE `login` (
  `ID` int(5) NOT NULL auto_increment,
  `Benutzername` varchar(255) default NULL,
  `Passwort` varchar(255) default NULL,
  `Email` varchar(255) default NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
Aber was bedeutet das?

Code:
CREATE TABLE `login` (
Das bedeutet das er eine Tabelle mit dem Namen login erstellt.

Code:
`ID` int(5) NOT NULL auto_increment,
  `Benutzername` varchar(255) default NULL,
  `Passwort` varchar(255) default NULL,
  `Email` varchar(255) default NULL,
Das sind die Felder der Tabelle

Code:
PRIMARY KEY  (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
Das ist der Primary Key und das Auto Increment




Dann öffnet ihr Visual Basic 2008 und erstellt eine Windows Forms anwendung!


Dann öffnet ihr den Projektmappen - Explorer und klickt auf MyProjekt!


Dann klickt ihr auf Verweise -> Hinzufügen und wählt MySQL.Data aus!




3. Login

Dann fügt ihr mindestens im Login 2 TextBoxen und 1 Button hinzu!
Wichtig! Die TextBox für den Usernamen heißt: txt_benutzer und die für Passwort: txt_passwort

Die Form kann dann so aussehen:


Dann machen wir doppelklick auf die Forum und ersetzen den bisherigen code durch diesen:
Code:
' Importieren
Imports System.Security.Cryptography
Imports System.Text
Imports MySql.Data.MySqlClient
' Ein Modul das das Passwort nicht im Klartext gespeichert wird sondern in 
' MD5
Module md5

	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
' Anfang der Form1
Public Class Form1
' Das Button1_Click Event
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Conn Definieren
Dim conn As MySqlConnection
    conn = New MySqlConnection
' Die mysql daten eingeben, das er weis auf welchem benutzer und host und '   db die tabelle liegt
    conn.ConnectionString = "server=serverip;" _ 'Hier gibt ihr die Server IP ein, die kommentare bei server ip etc. löschen, da sonst errors auftauchen
                                         & "user id=benutzername;" _ 'Hier gibt ihr euren Benutzernamen ein
                                         & "password=passwort;" _ 'Hier gibt ihr euer Passwort ein
                                         & "database=datenbankname" 'Hier gibt ihr die Datenbank ein auf der die Tabelle login liegt
' Er versucht sich zu Verbinden
    Try
        conn.Open() ' Verbindung öffnen
    Catch myerror As MySqlException
' Falls ein Verbindung Fehler auftaucht kommt eine MsgBox
        MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString) ' Falls Fehler : Fehler anzeigen
    End Try
' Benutzer Definieren und gleich in MD5 Umwandeln
    	Dim benutzer As String = MD5StringHash(txt_benutzer.Text)
' Passwort definieren und gleich in MD5 Umwandeln
    	Dim passwort As String = MD5StringHash(txt_passwort.Text)
' myAdapter definieren
    	Dim myAdapter As New MySqlDataAdapter
' Er sucht Die Tabelle Login in der angegebenen Datenbank
' Er schreibt in das Benutzername Feld der Tabelle den verschlüsselten Text
' von benutzer, dasselbe mit Passwort
    	Dim SQLAbfrage As String = "SELECT * FROM login WHERE Benutzername='" + Replace(benutzer, " ", "") + "' AND Passwort='" & Replace(passwort, " ", "") & "'" 
' myCommand definieren
    Dim myCommand As New MySqlCommand
    myCommand.Connection = conn
    myCommand.CommandText = SQLAbfrage

    myAdapter.SelectCommand = myCommand
    Dim myData As MySqlDataReader
    myData = myCommand.ExecuteReader()  ' Hier startet man die SQL Abfrage
    If myData.HasRows Then ' Wenn die Abfrage Einträge enthält / also der Benutzer und das Passwort stimmen überein
        MsgBox("Einloggen erfolgreich !")
        conn.Close()
        conn.Open()

    Else 
        MsgBox("Fehler Code 2 : Falsche Daten")
'Sonst wird angezeigt das die Daten falsch sind
    End If
    End Sub
End Class
' Der Rest müsste eigentlich klar sein.

4. Registrieren

Dann gehen wir auf Neues Element Hinzufügen -> Form Hinzufügen


Da brauchen wir mindestens 5 TextBoxen und 1 Button.
Namen:
Benutzername = txt_benutzer
Passwort = txt_passwort
Passwort Wiederholen = txt_passwort_w
Email: txt_email
Email Wiederholen: txt_email_w

Das kann dann so aussehen:


Dann doppelklick auf die Form und ersetzen den bestehenden code durch diesen:
Code:
' Importieren
Imports System.Security.Cryptography
Imports System.Text
Imports MySql.Data.MySqlClient
' Ein Modul das das Passwort nicht im Klartext gespeichert wird sondern in 
' MD5
Module md5

	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
' Ich hab dieses Modul jetzt nicht kommentiert, da der code gleich ist wie oben.
' Anfang der Form1
Public Class Form1
' Das Button1_Click Event
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Jetzt prüft er ob die 2 eingegeben passwörter übereinstimmen
 If txt_passwort.Text = txt_passwort_w.Text Then ' Prüft ob die Passwörter übereinstimmen
' Jetzt prüft er ob die email ein @ enthält
        If txt_email.Text.Contains("@") And txt_email_w.Text.Contains("@") Then ' Prüft ob die E-Mails ein @ enthalten.Damit wird geschaut ob die Email gültig ist
' Jetzt überprüft er ob die emails übereinstimmen
            If txt_email.Text = txt_email_w.Text Then ' Wenn die Emails übereinstimmen dann Trage ein
' conn definieren
                Dim conn As MySqlConnection
                conn = New MySqlConnection
                ' AB Hier in mysql daten ändern
                  conn.ConnectionString = "server=serverip;" _ 'Hier gibt ihr die Server IP ein, kommentare wieder löschen
                                         & "user id=benutzername;" _ 'Hier gibt ihr euren Benutzernamen ein
                                         & "password=passwort;" _ 'Hier gibt ihr euer Passwort ein
                                         & "database=datenbankname" 'Hier gibt ihr die Datenbank ein auf der die Tabelle benutzer liegt 
                                         ' Ab Hier nichts mehr ändern
' Er versucht die Verbindung zu öffnen
                Try

                    conn.Open() 
' Wenn ein Fehler auftaucht erscheint MsgBox!
                Catch myerror As MySqlException
                    MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
                End Try
' Das selbe wie oben
                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()  ' Abfrage starten

                If myData.HasRows = 0 Then ' Wenn dieser Benutzername nicht existiert dann fang mit der Registrierung an
                    conn.Close()
                    conn.Open()
                    Dim registerfinal As New MySqlDataAdapter
Dim benutzer As String = MD5StringHash(txt_benutzer.Text)
Dim passwort As String = MD5StringHash(txt_passwort.Text)
    http://www.elitepvpers.com/forum/epvp-coders-tutorials/587234-vb-2008-how-login-und-registrierung-ein-programm-einbauen.html#post5424689                myCommand.CommandText = "INSERT INTO benutzer(Benutzername, Passwort, Email)" _
                                         & "VALUES('" & benutzer & "','" & passwort & "','" & txt_email.Text & "')"
                    myCommand.ExecuteNonQuery() ' SQL Abfrage starten und eintragen
                    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
End Class
FERTIG!!
Hoffe euch hat das Tutorial Gefallen!

BITTE THX DRÜCKEN!
killeeer111 is offline  
Thanks
39 Users
Old 05/29/2010, 15:52   #2

 
Reextion's Avatar
 
elite*gold: 407
Join Date: May 2009
Posts: 1,574
Received Thanks: 728
Und wo lernt man da was?

C&P , super! Tutorials sind dafür da um jemand was beizubringen, tut er bei dir nicht, keine Codeerklärung nix. Einfach nur wo man welchen Code einfügen soll.
Reextion is offline  
Thanks
2 Users
Old 05/29/2010, 15:55   #3
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
Quote:
Originally Posted by Reextion View Post
Und wo lernt man da was?

C&P , super! Tutorials sind dafür da um jemand was beizubringen, tut er bei dir nicht, keine Codeerklärung nix. Einfach nur wo man welchen Code einfügen soll.
ok werde noch kommentare einfügen, dass ihr es besser versteht^^

EDIT

Kommentare im Code eingefügt, die werden eh in vb grün angezeigt^^
killeeer111 is offline  
Thanks
1 User
Old 05/29/2010, 16:29   #4
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
naja die mysql daten direkt ins programm einzubinden ist sehr mutig.
Elektrochemie is offline  
Thanks
2 Users
Old 05/29/2010, 17:37   #5
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
eigentlich vom Grundaufbau sehr gut, gut wegen den Bildern verständlich und man geht davon aus, das man die Grundkenntisse kann! Sehr gute arbeit

#Added to List

Wenn du es da nicht haben willst bitte PN!

MFG Jusikid
Jay Niize is offline  
Old 05/29/2010, 17:54   #6
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
Quote:
Originally Posted by Jusikid View Post

Wenn du es da nicht haben willst bitte PN!
wer will es da denn nicht haben
killeeer111 is offline  
Old 05/30/2010, 14:49   #7
 
elite*gold: 0
Join Date: Jan 2010
Posts: 656
Received Thanks: 466
Voll C&P Kopiert:
*GuideMan* is offline  
Thanks
1 User
Old 05/30/2010, 15:28   #8
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
@Guideman
Ich guck mir das tut dort mal an ob das wirklich das selbe ist.

Edit: Hab mir das angeguckt, hat ähnlichkeit, aber habs ned von dort kopiert.
killeeer111 is offline  
Old 05/31/2010, 08:03   #9
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
aber die Form und alles sieht alles komischer weise genauso aus!
Jay Niize is offline  
Old 05/31/2010, 15:02   #10


 
Cholik's Avatar
 
elite*gold: 4
Join Date: Aug 2008
Posts: 6,783
Received Thanks: 4,992
Es sieht nicht nur ähnlich aus es sind sogar die selben Bilder, selbst der Code ist identisch.

Dieser Thread vs. fremdes Forum


Quote:
Edit: Hab mir das angeguckt, hat ähnlichkeit, aber habs ned von dort kopiert.
Jo sondern von wo anders.


Das ist kein Tutorial. Es beschreibt nur wie man den Code zusammenkopiert, entweder du schreibst das um und erklärst den Code und sagst was was tut oder ich muss das closen.
Cholik is offline  
Thanks
1 User
Old 05/31/2010, 15:41   #11
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
Quote:
Originally Posted by Walter Sobchak View Post
Es sieht nicht nur ähnlich aus es sind sogar die selben Bilder, selbst der Code ist identisch.

Dieser Thread vs. fremdes Forum



Jo sondern von wo anders.


Das ist kein Tutorial. Es beschreibt nur wie man den Code zusammenkopiert, entweder du schreibst das um und erklärst den Code und sagst was was tut oder ich muss das closen.
ok werde es umschreiben

edit:

habs umgeschrieben, hoffe jetzt passts
killeeer111 is offline  
Old 06/02/2010, 15:16   #12
 
Intro~'s Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 191
Received Thanks: 56
ist das denn sicher?
Intro~ is offline  
Old 06/02/2010, 15:49   #13
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
mit dem normalen editor kann man das passwort sicher nicht knacken
sollte eigentlich sicher sein.
Wenn es dir nicht sicher ist, kannst du Username und Passwort auch in MD5 verschlüsseln, geht genau so wie beim Login
killeeer111 is offline  
Thanks
1 User
Old 06/08/2010, 20:12   #14
 
SandMann016's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
das ist alles quatsch es war C&P von VBP und man kann mit jedem free .NET decompier die sql daten auslesen fals man da mehr drauf hatte hat man pech!
und die md5 sicherung finde ich unnötig hab ich in vbp auch schon gesagt..-.-
SandMann016 is offline  
Old 06/09/2010, 18:45   #15
 
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
hab die md5 sicherung eingebaut, das man das passwort nicht sehen kann
killeeer111 is offline  
Reply


Similar Threads Similar Threads
PHP Login Script mit Registrierung
02/03/2014 - Web Development - 15 Replies
Hallo ich wollte für mein kleines Projekt ein Login Script machen. Habe mir das Video angeschaut PHP Login Script mit Registrierung - YouTube . Nur leider, wenn ich ein Account Registriere. Meint er es wäre erfolgreich, nur der erstellte Account ist in MySQL nicht zu finden. Die PHP Skripts + SQL Datei sind im Anhang.
login interface einbauen
08/22/2013 - Metin2 Private Server - 5 Replies
wie kann ich ein login interface einbauen? zb der: http://www.elitepvpers.com/forum/metin2-pserver-gu ides-strategies/2792189-release-metin2-login-inter face-lekoarts.html da ist nur ein PSD datei drinne, wie soll ich das in mein client einbauen? bitte hilfe :(
[C++] [Help] Login System mit Registrierung
06/16/2012 - C/C++ - 1 Replies
Wie im Titel schon gesagt ein Login-System, wo man sich registrieren muss. Und wie(habe ich mich schon immer gefragt) mache ich dann so eine Datenbank die die Registrierungen speichert und man sich dann nur einen nicht vergebenen Namen aussuchen kann etc.. also wie bei so einem Forum, halt nur das es ein Programm ist Würde mich freuen, wenn mir einer dabei helfen würde ;) MfG Razer'
Regi/Login Homepage einbauen
11/14/2011 - General Coding - 4 Replies
Hey leute ich möchte gerne einen Registration und Login Teil auf meiner Homepage einbauen Könntet ihr mir dabei helfen?
FTP Login+Registrierung Problem
10/10/2011 - General Coding - 5 Replies
hi, Habe mein Login per ftp gemacht. Also so: wc.Credentials = New Net.NetworkCredential("user", "Meinpw") TextBox3.Text = wc.DownloadString("Mein ftp server" + TextBox1.Text + TextBox2.Text + ".txt")



All times are GMT +1. The time now is 00:11.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.