webForumDet fria alternativet

cASe sENSEtIVe

7 svar · 406 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Mitt inloggningsscript är inte Case sensetive, vad kan detta bero på månne?

Lite kod:

<%
Option Explicit
Dim sql,rsUser,username,password,page,stayloggedin,LConnectString,lconn,rsProfile,lastlogg

username = Request.Form("username")
password = Request.Form("password") 
page = Request.Form("page")
stayloggedin = Request.Form("stayloggedin")
lastlogg = Request.Form("lastlogg")

<!--#include virtual="/conn.asp"-->

sql = "SELECT username FROM users WHERE username = '" & username & "' AND password = '" & password & "'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

'If there was a valid recordset there, then send them back to the page they came from, with the username cookie set
If (not rsUser.BOF) and (not rsUser.EOF) then
  Response.kaka("username") = rsUser("username")
 
if stayloggedin = "true" then
	Response.kaka("username").expires = date() + 365
  end if

Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "users WHERE username = '" & username & "'", conn, 3, 3

  rsUser("lastlogg") = lastlogg
rsUser.Update

  rsUser.close
  set rsUser = nothing
  conn.close
  set conn = nothing
  Response.Redirect(page)
end if

rsUser.close
set rsUser = nothing
conn.close
set conn = nothing%>
aleborgMedlem sedan jan. 20013 341 inlägg
#2

Vilken databas? mySQL? SQL server? Access?
I MySQL kan man ställa in direkt i databasen om den ska vara case sensitive eller inte, dom övriga vet jag faktiskt inte! Så kolla över databas inställningarna!

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

@ndersMedlem sedan juni 200032 969 inlägg
#3

Du kan även göra den typen av inställning i SQL Server.

Du kan ju alltid använda dig av StrComp() i VBScript. Det är möjligt att den funktionen eller någon liknande finns i JET SQL också om du använder Access, men det är jag ytterst osäker på.

if StrComp(rsUser("username"), username) = 0 and StrComp(rsUser("password"), password) = 0 then
' inloggningen lyckades även CS!

------------------
Don't panic!

Jesper TMedlem sedan nov. 20017 144 inlägg
#4

Jag använder accsess 2000!

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Det finns en funktion i Jet sql som heter Strcomp

sql = "SELECT username FROM users WHERE StrCOMP(username,'" & username & "',0) = 0 AND strcomp(password,'" & password & "', 0) = 0"

------------------
essentitia preter non sans multiplicandum

iceM2Medlem sedan mars 2001243 inlägg
#6

Jag kanske är dum i hövet men vad menas med case sensetive??? Är det att databasen gör skillnad på små och stora bokstäver eller är jag helt ute och cyklar?

------------------
"Ni tre går och bildar en kvadrat" (Rolf Zetterlund under ett träningspass)

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Jo, så är det.

if "a" <> "A" then
' case sensitive
if "a" = "A" then
'case insensitive

Say after me

Sensitive

------------------
essentitia preter non sans multiplicandum

Jesper TMedlem sedan nov. 20017 144 inlägg
#8

Tack Lars för den raden!!
Kul det funkar ju!!

261 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
128 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)