ASP login|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
ASP login
Sae^vus
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 31
Member Since:
April 19, 2001
sp_UserOfflineSmall Offline
1
July 30, 2001 - 7:58 pm
sp_Permalink sp_Print

Jag har gjort en login i asp med hjälp av en databas...

NU till problemet...
Jag har gjort en loop för att hitta användarnamnet!
Sen en loop för att hitta lösenordet..
Problemet är att du kan ha ditt eget användarnamn, sedan kan du använda vilket lösenord som helst i databasen...

HUR gör man så att anv. och lösenord måste finnas på samma rad i databasen??

Andyman
It’s a first time for everybody
Medlem
Forum Posts: 3
Member Since:
July 31, 2001
sp_UserOfflineSmall Offline
38931
July 31, 2001 - 12:44 pm
sp_Permalink sp_Print

Använd den här koden, så ska det fixa sig.

X = FALSE

Do Until X = TRUE OR RecSet.EOF

If RecSet("login") = Request.Form("login") Then
If RecSet("losen") = Request.Form("losen") Then
Session("losen") = RecSet("losen")
Session("login") = RecSet("login")

X = TRUE
Exit Do
End If
End if

RecSet.MoveNext

Loop

Avatar
Donan Fear
Kommer du hit ofta?
Medlem
Forum Posts: 730
Member Since:
May 24, 2001
sp_UserOfflineSmall Offline
38936
July 31, 2001 - 12:54 pm
sp_Permalink sp_Print

Varför göra onödiga loopar?
Enklast är att låta databasen göra jobbet:

...
Conn.Open "blablabla"
Set RS = Conn.Execute("SELECT COUNT(*) FROM Login WHERE Namn = '" & Request.Form("namn") & "' AND Losen = '" & Request.Form("losen") & "'")

If RS(0) = 0 Then ' inga träffar
Response.Redirect("fel.asp")
Response.End
Else ' namn och lösen stämmer
Session("namn") = Request.Form("namn")
Session("losen") = Request.Form("losen")
End If

Nibbler
Kommer du hit ofta?
Medlem
Forum Posts: 257
Member Since:
June 1, 2001
sp_UserOfflineSmall Offline
39024
July 31, 2001 - 5:55 pm
sp_Permalink sp_Print

Ja eller ännu bättre:


Set RS = Conn.Execute( "SELECT * FROM Login WHERE Namn = '" & Request.Form("namn") & "' AND Losen = '" & Request.Form("losen") & "'" )

If NOT rs.EOF Then

' Korrekt namn och lösenord

Else

' Inkorrekt namn eller lösenord

End IF

Använd för guds skull inga loopar för att gå igenom en databas och kolla värden.

Använd helst ochså ett fältnamn istället för * i SQL frågan eftersom du aldrig kommer använda datan så är det onödigt att hämta alla fält.

[ Detta Inlägg ändrades av: Nibbler den 2001-07-31 19:56 ]

Sae^vus
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 31
Member Since:
April 19, 2001
sp_UserOfflineSmall Offline
42577
August 8, 2001 - 4:16 pm
sp_Permalink sp_Print

tack för svaren det löste sig!

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 363
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL