DavidBMedlem sedan jan. 20001 140 inlägg
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
------------------
// David - Probably the best guy in the world
[Redigerat av DavidB den 10 aug 2000]
@ndersMedlem sedan juni 200026 914 inlägg
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.
------------------
don't follow your friends -- inflate them
DavidBMedlem sedan jan. 20001 140 inlägg
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")
------------------
// David - Probably the best guy in the world
jispirMedlem sedan maj 2001547 inlägg
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
------------------
/Jesper
DavidBMedlem sedan jan. 20001 140 inlägg
Mitt jag skrev först fungerar okså bra men det skiljer på stora och små bokstäver, det är det som är felet.
------------------
// David - Probably the best guy in the world
@ndersMedlem sedan juni 200026 914 inlägg
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
------------------
don't follow your friends -- inflate them