jag har denna kod som kolla om en person har rätt att redigera ett inlägg (kollar om det är hans eget)
<%
Option explicit
Session.LCID = 1053
Dim Connect, ArrRS, strSQL, strReplieId
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={SQL Server}; server=666.66.66.6; uid=Satan; pwd=Devil; database=FORUM"
strReplieId = Request.Querystring("ReplieId")
strSQL = "SELECT bla bla bla. WHERE (dbo.Replies.ReplieId = "& strReplieId &")"
ArrRS = Connect.Execute(strSQL).getrows()
Connect.Close
Set Connect = Nothing
Sub CheckAccess(strUserName,strQuerystring)
strUserName = Trim(strUserName)
If NOT Trim(Session("UserName")) = strUserName THEN
Response.Redirect("AccessDenied.asp?ErrorCode="& strQuerystring &"")
End If
End Sub
'KOLLA OM PERSONER FÖRSÖKER REDIGERA SITT EGET INLÄGG
Dim strUserName, strQuerystring
strUserName = ArrRs(7,0)
strQuerystring = "Try to edit other persons replie"
Call CheckAccess(strUserName,strQuerystring)
Här kommer kod för att editera inlägget om man hade access, skriver ut formulär etc.
Erase ArrRs
%>
Skulle det vara bättre om jag gjorde så här
<%
Option explicit
Session.LCID = 1053
Dim Connect, ArrRS, strSQL, strReplieId
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={SQL Server}; server=666.66.66.6; uid=Satan; pwd=Devil; database=FORUM"
strReplieId = Request.Querystring("ReplieId")
strSQL = "SELECT bla bla bla. WHERE (dbo.Replies.ReplieId = "& strReplieId &")"
ArrRS = Connect.Execute(strSQL).getrows()
Connect.Close
Set Connect = Nothing
If Trim(Session("UserName")) = Trim(strUserName) THEN
Här kommer kod för att editera inlägget om man hade access, skriver ut formulär etc.
Erase ArrRs
Else
Response.Redirect("AccessDenied.asp?blablabla")
End If
%>
Alltså att jag kollar igenom det på ett annat sätt, kör en if else satts och inte bara en ifsatts, den läser ju ändå igenom hela sidan innan den skrivs.
Varför tycker du det då? Med det kommer det ju att behövas 2 include filer istället för en där jag skickar med subben. Subben kan jag sedan använda på fler sidor som ska kollas om behörighet. Jag vill ju veta hur vb motorn tänker i detta fall
Jag frågade varför du tyckte det andra alternativet såg bättre ut. Att du inte visste något om vbmotorn såg jag ju i första inlägget du posta
2 inc. För att kunna ha den på flera sidor också så klart. Någon som vet hur motorn fungerar rent prestandamässigt och hur den tänker i detta fall med subben eller den med ifsattserna
Jag frågade varför du tyckte det andra alternativet såg bättre ut.
Det var mindre krånglig kod vid första överblicken. Mindre kod, snabbare körning. (Inte i alla fall men..)
Att du inte visste något om vbmotorn såg jag ju i första inlägget du posta.
Tack för den, men som sagt..
Sen tror jag väl inte att include-filer sliter så värst mycket på parsing-tiden, det finns ganska många andra grejer man kan göra som är mycket värre, men det vet du ju redan.
Jag menar, du kör ju trots allt getRows, vilket torde tyckas vara den snabbaste metoden i detta fallet att hämta din data.