Avatar billede larsbachmanndk Nybegynder
17. juni 2005 - 14:35 Der er 5 kommentarer og
1 løsning

If etelleranet = etellerandet Then

Jeg er ved at få grå hår af denne IF sætning.

<%
If Request.Querystring("user") <> Session("UserID") Then
Response.Write("Du kan ikke slette denne aftale")

Else
%>


<%
Dim rsDel
Set rsDel = ObjConn.Execute("DELETE * FROM calendar WHERE id = " & Request.QueryString("delete") & "")
Response.redirect("default.asp")
End If
%>

Hvis jeg bruger <> så sletter den uanset om de er ens eller ikke, og hvis jeg bruger = så sletter den ikke uanset hvad.
Det er som om den ikke forstå den If sætning.
Avatar billede goose Nybegynder
17. juni 2005 - 14:43 #1
Prøv den her:

<%
If not cint(Request.Querystring("user")) = Session("UserID") Then
Response.Write("Du kan ikke slette denne aftale")

Else

Dim rsDel
Set rsDel = ObjConn.Execute("DELETE * FROM calendar WHERE id = " & Request.QueryString("delete") & "")

ObjConn.close
set ObjConn = nothing
Response.redirect("default.asp")
End If
%>

/Goose
Avatar billede larsbachmanndk Nybegynder
17. juni 2005 - 14:54 #2
Det virker. :-)

Lige et dumt spm.?
Hvad gør "Cint"?
Avatar billede goose Nybegynder
17. juni 2005 - 14:57 #3
Cint tvinger din kode til, at tolke din querystring som et tal.
Så smider jeg da lige et svar :o)

/Goose
Avatar billede larsbachmanndk Nybegynder
17. juni 2005 - 14:58 #4
Tak for din forklaring
Avatar billede goose Nybegynder
17. juni 2005 - 16:12 #5
Det var så lidt og tak for point

/Goose
Avatar billede and_ Nybegynder
17. juni 2005 - 17:05 #6
Og som et ekstra guldkorn...

valider ALTID indhold der skal i sql forespørgsler!
Sql injections, kan du finde mere om på activedeveloper.dk

men handler stort om at undgå at folk kan skrive kode til din sql og dermed trækker indhold ud af den...

i dette tilfælde tjekker jeg om det er tal:

dim id
id = Request.QueryString("delete")
if isNumeric(id) then
  Dim rsDel
  Set rsDel = ObjConn.Execute("DELETE * FROM calendar WHERE id = " & id & "")
else
  response.write("FEJL")
end if

hvis det havde været tekst ville jeg have replacet ' med ''

dim txt
txt = Request.QueryString("delete")
if len(txt) > 0 then
  txt = replace(txt, "'", "''")
end if
Dim rs
Set rs = ObjConn.Execute("en masse sql = '" & txt & "'")
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester