peterMedlem sedan dec. 1999116 inlägg 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 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]
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 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
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 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