Avatar billede everclear Praktikant
05. december 2005 - 13:20 Der er 5 kommentarer

Generer unik kode

Jeg er i gang med at lave et site, hvor det skal være muligt at oprette sig som bruger. Her skal man vælge et brugernavn, password samt navn og adresse. Når brugeren så trykker "Opret" skal der genereres en unik 8 cifret kode til hver bruger.
Jeg skal med andre ord tjekke på min MySQL database om der er en bruger, der har denne kode og hvis der er, skal der genereres en ny indtil den rammer en, der ikke er i brug. Hvordan gør jeg dette nemmest?
Jeg har følgende kode til at generere min kode:

<%
'Alle tal og bogstaver kan benyttes
const MuligeTegn = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

'Koden vil indeholde 8 tegn
const Lengde = 8

Function MakePassword()
  Dim i, nPlacering, ch, returnString
  'Start tilfældighedsgeneratoren:
  Randomize
  for i = 1 To Lengde
    'Finder en tilfældig placering indenfor intervallet:
    nPlacering = CInt(Len(MuligeTegn)) * Rnd + 1
    ch = Mid(MuligeTegn, nPlacering, 1)
    returnString = returnString & ch
  Next
  MakePassword = returnString

End Function

Nogen der hurtigt kan hjælpe?
Avatar billede medions Nybegynder
05. december 2005 - 13:34 #1
strPassword = MakePassword()
strSQL = "SELECT [password] FROM tblBrugere WHERE [password] = '"&strPassword&"'"
Set objRs = objConn.Execute(strSQL)

If (objRs.EOF) Then
  'Brugeren findes ikke i forvejen
Else
  'Kør koden igen...
End If
Avatar billede everclear Praktikant
05. december 2005 - 13:38 #2
Det er ved "Kør koden igen" jeg støder på problemet. Med det jeg har prøvet, så kan jeg ikke få kørt min SQL igen. Hvordan opsætter jeg det helt præcist?
Avatar billede tofte Juniormester
05. december 2005 - 15:11 #3
continue = true
while(continue)
strPassword = MakePassword()
strSQL = "SELECT [password] FROM tblBrugere WHERE [password] = '"&strPassword&"'"
Set objRs = objConn.Execute(strSQL)

If (objRs.EOF) Then
  'Brugeren findes ikke i forvejen
  continue = false
Else
  continue = true
End If
wend
Avatar billede tofte Juniormester
05. december 2005 - 15:12 #4
jeg har ikke kontrolleret koden, men det burde vel virke
Avatar billede everclear Praktikant
26. marts 2006 - 23:26 #5
Har lige været væk fra mit projekt i et godt stykke tid:-) Tofte, smid lige et svar, så er der points:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester