cASe sENSEtIVe

ASP

7 svar · 415 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#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%>
Medlem 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!

Medlem sedan juni 200032 967 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!
Medlem sedan nov. 20017 144 inlägg
#4

Jag använder accsess 2000!

Medlem 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"
Medlem 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?

Medlem 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

Medlem sedan nov. 20017 144 inlägg
#8

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

271 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)