20. maj 2003 - 21:19Der er
42 kommentarer og 1 løsning
simpelt login kun med kodeord
jeg skal bruge et asp script med et login hvor koden skal bestå af 5 tilfældige tal (altså alle tal mellem 10000 og 99999)! jeg fandt et login som virker meget godt og som jeg kan finde ud af: http://activedeveloper.dk/aspdigital/studies/login.asp hvis i kan lave om på den... det kunnevære dejligt. takker.
Jo, men så skal jeg lige forstå præcis, hvad du vil. Hver bruger har jo, som du kan se, en post i tabellen med henholdsvis brugernavn og password. Vil du have alle brugernavne erstattet med et tilfældigt tal mellem 10.000 og 99.999? - og i så fald hvorfor?
nej der skal kun være et formular. der skal ikke være noget med brugernavn og password, i realiteten skal alle der indtaster et 5 cifret tal være i stand til at logge ind på siden
Så skal du starte med at fjerne kolonnerne med brugernavn og password fra tabellen og i stedet tilføje en ny kolonne, som du kan kalde "Random" og sætte til typen Long Integer.
<% ' Hvis der er blevet trykket på knappen "Login" If Request.ServerVariables("Request_Method") = "POST" Then strPWD = Trim(Request.Form("Adgangskode"))
If Len(strPWD) > 0 And IsNumeric(strPWD) Then
' DSNLess forbindelse til databasen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_2000.mdb")
Set rs = myConn.Execute("SELECT UserID FROM Users WHERE Random = " & strPWD)
If Not rs.EOF Then ' Hvis brugeren fandtes i databasen intUID = rs("UserID") Else ' Hvis brugeren ikke fandtes i databasen strERR = "Du blev ikke godkendt af systemet" End If
' Rydder op i vores connection objekt myConn.Close Set myConn = Nothing
If Len(intUID) Then ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre Session("UserID") = intUID Response.Redirect("beskyttet.asp") End If Else ' Hvis der ikke var angivet brugernavn og adgangskode strErr = "Du skal angive en gyldig kode!" End If
If Len(strErr) > 0 Then ' Her laves fejlmeddelsen om til rød skrift strErr = "<p><font color=red>" & strErr & "</font></p>" End If End If %> <html><head> <title>Login script</title> </head><body>
den skriver: Du blev ikke godkendt af systemet. er det fordi den ikke har adgang til at rette i databasen, eller er det fordi jeg skal oprette brugerne først?
Du skal først oprette brugerne. Hvis jeg f.eks. indtaster "76453" i feltet, får jeg ikke lov at komme ind, fordi der ikke eksisterer en post i tabellen, hvor Random er lig med dette tal.
Jeg har stadig ikke forstået formålet med det, men hvis dit ønske er at indsætte poster, der går fra 10000 til 99999 i tabellen, kan du gøre det således:
For i = 10000 To 99999 myConn.Execute("Insert Into Users (Random) Values (" & i & ")") Next
Hvad er det, du ikke kan få til at virke? Jeg har lige givet dig et komplet eksempel. Du skal kopiere ovenstående ind i en tom fil. Upload denne til serveren og kald den fra din browser EN gang, så der indsættes 90000 poster i tabellen.
Prøv at oprette et nyt spm ang. den skrivning til db'en, så er der sikkert nogen andre, der kan svare.
Synes godt om
Ny brugerNybegynder
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.