Du kan ju använda ucase/lcase när du jämför värdena.
Jag tycker inte att du skall ändra på det som lagras i databasen.
7 svar · 270 visningar · startad av MoonCow
när man loggar in på min community så är användarnamn/lösen "case-sensitive", man blir inte inloggad om man skriver med stora när man regristrerade sig med små :/
finns det nått sätt för detta eller gör man bara så att det automatiskt blir små bostäver när man regristrerar sig och loggar in med den där lowercase-funktionen?
nån idé?
Du kan ju använda ucase/lcase när du jämför värdena.
Jag tycker inte att du skall ändra på det som lagras i databasen.
ok, tack
Jag har inte ens tänkt på detta problem. Finns det månne någon exempelkod någonstans för detta?
gjortde så här:
Do Until RecSet.EOF
If LCase(RecSet(("username"))) = LCase(Request.Form(("username"))) AND LCase(RecSet(("losen"))) = LCase(Request.Form(("losen"))) Then
Session("bekraftad") = "inloggad"
Session("namn") = usernamne
Session("id") = RecSet("id")
RecSet.Close
Databas.Close
Response.Redirect "default.asp"
End If
Jag tänkte mer en kod som kan skilja på t.ex. "Namn", "namn" och "nAMn". Rätta mig om jag har fel, men din kod (MoonCow) gör inte anvnamn eller lösen "case sensitive" eftersom du gör om båda värdena till gemener och sedan jämför dem.
Om du gör en vanlig jämförelse i VBscript
if "namn" = "NAMN" then
så är den case-sensitive.
I de flesta dbms så är sökningar case-insensitiva. Det går dock att få att den skall vara sensitiv t.ex i sql-server om man vill att username inte är case-sensitivt men att password är det.
select*from members where username = 'nisse' and cast(pwd as binary(18)) = cast('password' as binary(18))
Nu vet jag inte hur man gör i andra databaser.
Annars så kan du göra sökningen i databasen och komplettera med en extra jämförelse i VB-script.
Skarre: ok, trodde du vill ha en som inte var case sensitive