Hej med denna kod includerar jag vald sidan på min hemsida, Du bör undvika Server.Execute. Det ger två sidexekveringar för varje sida som anropar. Din kod utgör oxå en säkerhetsrisk. Då du inte kontrolerar att filen är tillåten. ok, några synpunkter på den övre koden ?server.execute() och dbConn.open
nu undrar jag om det finns något bättre sätt att göra dett eller duger det ?
<code>
Dim strPage
strPage = Request.Querystring("p")
If IsEmpty(strPage) Then strPage = "pHome/default.asp"
On Error Resume Next
Server.Execute "exe_page/" & strPage
If Err.Number <> 0 Then
Server.Execute "exe_page/error/default.asp"
End If
On Error Goto 0
</code>
Och denna öpnnar och stänger jag DB med är den bra eller ser ni några brister ?
<code>
dim dbConn
dim strSQL
function connOpen()
set dbConn = Server.CreateObject("ADODB.Connection")
'Access connection
dbConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/db.mdb") & ";"
'dbConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=g:\home\holmssportklubb.com\sys\site.mdb;"
end function
function connClose()
dbConn.Close
set dbConn = nothing
end function
</code>
/ danneSv: server.execute() och dbConn.open
Att deklarera variabler utanför en rutin och anropar dem innifrån är emot vad man försöker åstakomma med inkapsling.
<%
function connOpen()
dim strSQL
dim dbConn
set dbConn = Server.CreateObject("ADODB.Connection")
'Access connection
dbConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/db.mdb") & ";"
'dbConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=g:\home\holmssportklubb.com\sys\site.mdb;"
Set connOpen = dbConn
end function
%>
Och anropar den genom:
<%
Option Explicit
%>
<!--#include file="dbStuff.asp" -->
<%
Dim dbConn
Set dbConn = connOpen()
dbConn.Close
%>
Sv: server.execute() och dbConn.open
när jag öppnar sidorn med ?