Login Script (Mehre User)

  • Hallo Community,

    und Zwar habe ich ein Login Script,
    und möchte mehrere Logins (User names) Haben

    Spoiler anzeigen
    [autoit]

    Global $ID = "Saro", $PW = "Siro"
    #Region ### START Koda GUI section ### Form=$Form1 = GUICreate("~> Login <~", 686, 573, 192, 124)GUISetBkColor(0x000000)$IDInput = GUICtrlCreateInput("Username", 520, 496, 161, 21)GUICtrlSetColor(-1, 0xFF0000)GUICtrlSetBkColor(-1, 0x000000)$PWInput = GUICtrlCreateInput("Passwort", 520, 520, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))GUICtrlSetColor(-1, 0xFF0000)GUICtrlSetBkColor(-1, 0x000000)$Login_button = GUICtrlCreateButton("Login", 568, 544, 81, 25)GUICtrlSetColor(-1, 0xFF0000)GUICtrlSetBkColor(-1, 0x000000)$EndButton = GUICtrlCreateButton("Exit", 8, 544, 81, 25)GUICtrlSetColor(-1, 0xFF0000)GUICtrlSetBkColor(-1, 0x000000)$Test = GUICtrlCreateLabel(" Test Account = User: Saro / Passwort: Siro", 144, 544, 351, 24)GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")GUICtrlSetColor(-1, 0xFF0000)$Sp = GUICtrlCreatePic("icons\splash.jpg", 0, 0, 684, 92)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###
    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $EndButton Exit Case $Login_button If GUICtrlRead($IDInput) = $ID Then If GUICtrlRead($PWInput) = $PW Then TrayTip("Willkommen","Willkommen Back",0) GUIDelete($Form1) ; "Löscht" das Fenster ExitLoop ; While beenden Else MsgBox(0,"Login","Login fehlgeschlagen, falschen Passwort.") EndIf Else MsgBox(0,"Login","Login fehlgeschlagen, ID existiert nicht.") EndIf EndSwitchWEnd

    [/autoit]


    Könnt ihr mir helfen wie ich das anstelle?

    3 Mal editiert, zuletzt von igotti (5. Januar 2014 um 17:51)

  • Hallo, bitte das nächstemal wenn du ein Script Postest den Reiter: Quellcode auswählen.
    Außerdem gibt es für Autoit ein eigener Highlighter.
    [Blockierte Grafik: http://666kb.com/i/ckoiawtwu5ub2pr4z.jpg]

    Ich weis nicht genau was du willst, und da man dein Script schlecht lesen kann habe ich mal ebend ein Beispiel für ein einfaches Login
    ohne großen Sicherheitsmaßnahmen geschrieben.

    Einfach auf dem Spoilerbutton klicken um das Script zu sehen.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $ID = "Saro", $PW = "Siro"

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Login", 286, 67, 192, 124)
    $Label1 = GUICtrlCreateLabel("ID:", 8, 8, 18, 17)
    $IDInput = GUICtrlCreateInput("", 32, 8, 161, 21)
    $Label2 = GUICtrlCreateLabel("PW:", 0, 40, 25, 17)
    $PWInput = GUICtrlCreateInput("", 32, 40, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
    $Login_button = GUICtrlCreateButton("Login", 200, 8, 81, 25)
    $EndButton = GUICtrlCreateButton("Exit", 200, 40, 81, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $EndButton
    Exit
    Case $Login_button
    If GUICtrlRead($IDInput) = $ID Then
    If GUICtrlRead($PWInput) = $PW Then
    MsgBox(0,"Login","Login erfolgreich!")
    GUIDelete($Form1) ; "Löscht" das Fenster
    ExitLoop ; While beenden
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, falschen Passwort.")
    EndIf
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, ID existiert nicht.")
    EndIf
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"test","Weiteres Script...")
    ; Hier kann man das Script hinschreiben was nach dem Login ausgeführt werden soll.

    [/autoit]

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

  • Mit mehreren Logins meinst du mehrere Benutzer oder?
    Ich weis nicht genau wie du es willst, die User direkt in das Programm mit Passwort einzutragen ist nicht grad konventionell, aber für Privat sollte es ausreichen.
    "$AnzahlderUser = 20" gibt an, wieviele Benutzer es gibt.
    Du solltest wenn du dir das Script ansiehst schnell erkennen wie du weitere Benutzer eintragen kannst, derzeit sind 3 Benutzer (mit 3 Passwörter) eingetragen, das erste Index in der Array gibt den User an.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $AnzahlderUser = 20 ; Wieviele User es (maximal) gibt.

    [/autoit] [autoit][/autoit] [autoit]

    Global $Users[$AnzahlderUser+1][2]

    [/autoit] [autoit][/autoit] [autoit]

    $Users[0][0] = "Saro" ;ID User 1
    $Users[0][1] = "Siro" ;PW User 1

    [/autoit] [autoit][/autoit] [autoit]

    $Users[1][0] = "Test2" ; ID User 2
    $Users[1][1] = "Passwort" ; PW User 2

    [/autoit] [autoit][/autoit] [autoit]

    $Users[3][0] = "Test3" ; ID User 2
    $Users[3][1] = "Passwort" ; PW User 2

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Login", 286, 67, 192, 124)
    $Label1 = GUICtrlCreateLabel("ID:", 8, 8, 18, 17)
    $IDInput = GUICtrlCreateInput("", 32, 8, 161, 21)
    $Label2 = GUICtrlCreateLabel("PW:", 0, 40, 25, 17)
    $PWInput = GUICtrlCreateInput("", 32, 40, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
    $Login_button = GUICtrlCreateButton("Login", 200, 8, 81, 25)
    $EndButton = GUICtrlCreateButton("Exit", 200, 40, 81, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $EndButton
    Exit
    Case $Login_button
    $iID = _ArraySearch($Users,GUICtrlRead($IDInput))
    If Not @error Then
    If (GUICtrlRead($PWInput) == $Users[$iID][1]) Then ; PW: groß und kleinschreibung wird beachtet
    MsgBox(0,"Login","Login erfolgreich!")
    GUIDelete($Form1) ; "Löscht" das Fenster
    ExitLoop ; While beenden
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, falschen Passwort.")
    EndIf
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, ID existiert nicht.")
    EndIf
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"test","Weiteres Script...")
    ; Hier kann man das Script hinschreiben was nach dem Login ausgeführt werden soll.

    [/autoit]

    Es ist nicht grad die beste Lösung, aber da ich nicht alles weis wofür das ist kann ich es nicht anpassen.

    Ps. man kann es auch so abändern, das alle Benutzer in eine Combobox abgebildet werden.

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

    3 Mal editiert, zuletzt von PuReIroNie (5. Januar 2014 um 17:23)