05. marts 2004 - 20:20Der er
7 kommentarer og 3 løsninger
arrays som skal bruges til check
Hejsa er fuldstændig nybegynder i dette her og leger med noget login Jeg vil bruge nogle arrays til at checke om der eksisterer en bruger og hvis han eksisterer går den så videre til password. Alt virker fint med undtagelse af at jeg ikke kan få hevet værdierne ud af de arrays jeg specificerer i toppen af min Sub.
Sub login() Const s_password As String = "pass" Dim count As Integer Dim brugere(5) As String brugere(0) = "jajaj" brugere(1) = "jens" brugere(2) = "jørgen" brugere(3) = "jeppe" brugere(4) = "julle" brugere(5) = "ejnar"
****** HERUNDER VIL JEG HOLDE MIN INPUTBOX OP IMOD*************** ****** DE ARRAYS JEG SPECIFICEREDE OVENOVER *********************
Do
input_user = InputBox("Indtast brugernavn", "Brugernavn") If input_user = ******HVAD SKAL DER STÅ HER**** Then
Next count = 0 Do
input_pass = InputBox("Indtast dit kodeord", "Password") If input_pass = s_password Then MsgBox "Velkommen " & input_user count = 4 Else count = count + 1 End If Loop Until count >= 3 Else count = count + 1 End If If count = 3 Then MsgBox "Du har forsøgt for mange gange", vbCritical End If Loop Until count >= 3 End Sub
under ""If input_user = ******HVAD SKAL DER STÅ HER**** Then"" står der ""next"" ... det må i gerne se bort fra da det er nogle rester af det jeg selv prøvede ... Havde en ide om at jeg kunne smide det ind i en for løkke ... men nej
Du skal vel både have et array af brugernavne og et array af password. Det, der skal ske, er vel, at når brugernavnet er indtastet, skal det findes i tabellen af brugere. Derefter skal brugerens password hentes og sammenlignes med det password, der er knytte til den pågældende bruger.
Jeg er nødt til at smutte nu, men kommer igen senere iaften (ret sent). Så har jeg et forslag til dig.
Ja brugerne skal også have et password, som det er nu har jeg bare specificeret en constant med password som alle bruger men det holder naturligvis ikke.
Public Sub Login() Dim i As Integer Dim strUser As String Dim strPass As String Dim blnLogin As Boolean Dim intCount As Integer Dim arrBrugere(5) As String
Const strDefPass As String = "pass" '<- password for alle bruger
Public Sub Login() Dim i As Integer Dim strUser As String Dim strPass As String Dim blnLogin As Boolean Dim intCount As Integer Dim arrAdgang(5) As String Dim arrBrugere(5) As String
for i=1 to 3 BrN=InputBox("Brugernavn") PaW=InputBox("Password")
EjFundet=True: OK=False For j=1 to 3 if BrN=BrNavn(j) then EjFundet=False: OK=True if PaW<>PassW(j) then OK=false exit for end if end if next
if OK then MsgBox "Bruger er godkendt" exit for else if EjFundet then Msgbox "Brugernavnet kendes ikke. Prøv igen." else MsgBox "Forkert adgangskode. Prøv igen." end if end if next If not OK then MsgBox "Nu får du ikke flere forsøg!" end if end sub
Du skal også beslutte, hvad der skal ske, når brugeren har opbrugt sine forsøg. Evt. kunne login-proceduren være en funktion, som blev sand, hvis brugeren blev godkendt og ellers blev sat til falsk.
Function login() 'Samme indhold, som ovenfor 'men til sidst er der denne linie: login=OK End Function
Så kan login-kontrollen være således: if login then 'nu er der en bruger, der er godkendt else 'brugeren blev ikke godkendt 'og så skal du beslutte, hvad der så skal ske end if
Du skal også tænke på, om det er en god ide at skelne mellem små og store bogstaver i brugernavnet. Her kan funktionen Lcase benyttes. Lcase("Tom") er tekststrengen "tom"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.