Announcement

Collapse
No announcement yet.

Login mit 2 verschiedenen Benutzern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Login mit 2 verschiedenen Benutzern

    Hallo Forum,

    ich möchte einen Login schreiben, bei dem 1 einen Speicherzugriff hat und 2 die Daten nur lesen darf. Dafür hab ich folgenden Code geschrieben:
    [highlight=vbnet]
    Public mBenutzerSpeichernErlaubt As Boolean

    Public Sub Login()
    Dim f As New LoginForm
    If f.ShowDialog Then
    mBenutzerSpeichernErlaubt = ÜberprüfeBenutzer(f.tb_Benutzer.Text, f.tb_Passwort.Text)
    End If

    End Sub
    Private Function ÜberprüfeBenutzer(ByVal Benutzer As String, ByVal Passwort As String) As Boolean
    If Benutzer = "1" And Passwort = "1" Then
    Return True
    ElseIf Benutzer = "2" And Passwort = "2" Then
    Return False

    ElseIf Not Benutzer = "1" Or "2" And Passwort = "1" Or "2" Then
    MsgBox("Die Eingabe war nicht richtig", MsgBoxStyle.OkOnly, "Bitte überprüfen Sie Ihre Eingabe noch einmal")
    End if
    End Function
    ...
    Dim f As New Form (id)
    f.SpeichernErlauben(mBenutzerSpeichernErlaubt)
    ' Übergabe der Variablen ,ob gespeichert werden darf
    f.ShowDialog()
    ...
    [/highlight]
    Ich möchte, dass wenn er true weitergibt, es bedeutet, dass man speichern darf; und wenn er false weitergibt, dass man nur lesen darf. Aber wenn man ein falsches Wort einträgt, dann soll nur eine Warnung kommen und dann soll das Login-Form wieder leer sein zur neuen Eingabe.
    Im Moment gibt er bei einer falschen Eingabe zwar die msgbox aus, aber er geht trotzdem weiter zum nächsten Form statt zurück zum Login! Er geht einfach weiter zum nächsten Form und nimmt anscheinend den Wert false mit.
    Was ist falsch an diesem Code?

    Vielen Dank
    Zuletzt editiert von gfoidl; 31.08.2010, 17:37.

  • #2
    Hallo

    Bei der Function "ÜberprüfeBenutzer" gibst du ja nur die Werte True oder False zurück und wenn der Benutzer oder das Passwort falsch ist wird überhaupt keine Wert gesetzt.

    Du mussst für die Funktion "ÜberprüfeBenutzer" einen Rückgabewert nehmen der drei Zustande verwalten kann zb. Zahl
    1= erlaubt
    2 = nicht erlaubt
    3 = Anmeldedaten falsch

    in der Funktion Login eine Do ... Loop Scheife einbauen die solange läuft bis der Rückgabewert von "ÜberprüfeBenutzer" <> 3 ist.
    Gruß Gini

    Win XP, Visual Studio 2008 Prof., SQL Server 2005 Express

    Comment


    • #3
      Hey,

      sorry für die späte Antwort. Bin irgendwie im Stress. Ich werde mir das im Laufe der Woche mal angucken, die Idee klingt gut.
      Vielen Dank

      Comment

      Working...
      X