webForumDet fria alternativet

parametrar

5 svar · 441 visningar · startad av peter

peterMedlem sedan dec. 1999116 inlägg
#1

Jag håller på med ett litet inloggningsscript men jag kommer inte på något bra sätt att kolla om användarnamnet som användaren knappar in finns i databasen och sedan ska det kollas om lösenordet är rätt.

Finns det någon som vet hur man kan göra detta?

Tacksam för svar.

//Peter

Det blev en lite tokig rubrik. Vet inte vad jag tänkte på... och den går ju tyvärr inte att ändra på....

[Redigerat av peter den 06 mar 2000]

BrimbaMedlem sedan dec. 19995 875 inlägg
#2

Du kan väl göra så här:

		SQL2 = "SELECT * FROM Login Where Login = '" & Request.Form("Login") & "'"
		Set ideller = Connection.Execute(SQL2)
		
		' Om login namn inte finns så omdirigiera till login.asp
		if ideller.BOF AND ideller.EOF then
			Response.Redirect("status.asp")
		else
		passwordchk = StrComp(Request.Form("Password"), ideller("Password"),0)
		
		' är dom lika blir det en 0:a
		' är strängarna tex brimba / Brimba blir det en 1:a
				
		if passwordchk=1 Then
				
				Response.Redirect("status.asp")
				
		else

Efter else så gör du ju det som skall hända om allting är korrekt.

sen gör du ju helt enkelt en fil som heter status.asp
där du lägger in informationen som visar att användaren har matat in fel information.
Du kanske även bör lägga in en funktion som kollar strängarna från request.form(login) och request.form(password) så inte han försöker skicka med kod eller så.

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

[Redigerat av Brimba den 06 mar 2000]

SPike.CoMMedlem sedan dec. 1999149 inlägg
#3

Fett, jag skulle just börja lösa det i min egen test sajt... :) Det kommer att spara tid.

BrimbaMedlem sedan dec. 19995 875 inlägg
#4

Vill bara klargöra en sak i min kode.

StrComp jämnför altså om strängarna är EXAKTA.
Dvs om du inte vill att den skall kolla stora och små bokstäver skall du inte använda strcomp. Du kan använda strcomp på både lösenord och användarnamn om du vill det men i mitt exempel är det bara "case sensitive" på lösenordet.

Tack!

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

SPike.CoMMedlem sedan dec. 1999149 inlägg
#5

Jo, jag förstår... Man kan lösa det rätt lätt dock. Sätta in LCASE eller UCASE.

<SQL-grejen>... & LCASE(Request.Form("Login")) & ...

Förutsatt att alla login är ändå lower case, för password är det nästan lika dant:

StrComp(LCASE(Request.Form("Password")), LCASE(ideller("Password")),0)

Men ioförsig ska password vara Case Sensitive.

BrimbaMedlem sedan dec. 19995 875 inlägg
#6

Hej!

Varför skall du lägga in lcase på båda två? Det resulterar ju att dom blir identiska, då behöver du inte ens ha strcomp. då räcker det ju om du skriver nått med

If Request.Form("Password") = ideller("Password") Then

bla bla

Else

End If

För förstår inte varför man först skall tvinga den till små bokstäver när man vet att det kommer vara lika, eftersom funktionen strcomp jämnför om man har använt stora/små bokstäver.

Det var mest det :)

Ha det gutt!

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)