webForumDet fria alternativet
Logga in / Bli medlem

problem

ASP

5 svar · 181 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

Jag har gjort ett inloggningsscript som man kan logga in på några sidor. Mit problem är registreringen när man kollar om användarnamnet redan finns. När man loggar in spelar det ingen roll om du skriver "Användarnamn" eller "användarnamn" men när du registrerar så har jag gjort en loop som kollar om användarnamnet finns men den skiljer på stora och små bokstäver. Detta gör att det kan finnas en användare som heter "Kalle" och en som heter "kalle", hur gör man så att loopen inte skiljer på stora och små bokstäver. Den ser ut följande:

SQLStmt = "SELECT * From Users"
Set RS = Connection.Execute(SQLStmt)

Do Until RS.EOF
If Request.Form("username") = RS("username") Then 
Response.redirect("loggin.asp")
End If
RS.Movenext
Loop
Medlem sedan juni 200032 967 inlägg
#2

hej david!

är det inte enklare att göra jämförelsen direkt i sql-frågan?

SQLStmt = "SELECT * From Users WHERE UCASE (username) = '" & UCASE (Request.Form("username")) & "'"

ovanstående sql-fråga hämtar allt där användarnamnet finns. får du då ingenting tillbaks så är användarnamnet ledigt. smidigt, va? ;) å kejs insensitive.

jag har förutsatt att du använder access, om du använder sql-server heter
motsvarigheten till UCASE() UPPER().

lycka till.

Medlem sedan jan. 20001 372 inlägg
#3

hur gör man sedan då, förstod inte riktigt. Blir det något sånt här då eller hur blir det?

If RS("username") = "" Then 
Response.redirect("loggin.asp")
Medlem sedan maj 20011 343 inlägg
#4

Prova detta det funkar för mig!
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("din databas här"))
SQL="SELECT * from login WHERE login='" & request.form("login") &"'"
set rs=connection.execute(SQL)
if not rs.eof then
response.redirect "upptaget.asp"
end if

det funkar för mig glömm inte byta ut upptaget.asp till din sida

Medlem sedan jan. 20001 372 inlägg
#5

Mitt jag skrev först fungerar okså bra men det skiljer på stora och små bokstäver, det är det som är felet.

Medlem sedan juni 200032 967 inlägg
#6

hej david!

byt ut sql-frågan i jispirs inlägg till den jag skrev igår, så blir det case insensitive. typ anders = Anders.

mvh

261 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)