Precedente :: Successivo |
Autore |
Messaggio |
Pier Dio minore
Registrato: 19/12/05 18:45 Messaggi: 660 Residenza: Sotto il tuo stesso cielo
|
Inviato: 30 Mar 2006 16:19 Oggetto: * [ASP] - Include |
|
|
Ciao a tutti
Vi spiego il mio problema...
ho una pagina asp in cui viene incluso un file per la connessione al database.
La pagina è nella root principale mentre il file di connessione è nella cartella include.
All'inizio della mia pagina asp ho la riga
Codice: | <!-- #include file="include\connessione.asp"--> |
e tutto funziona...
Ora però devo includere il file connessione.asp (della cartella include) anche in una pagina che sta in
root>cartella>cartella>pagina.asp
solo che non posso specificare il percorso del file include con
Codice: | <!-- #include file="..\..include\connessione.asp"--> | nè con
Codice: | <!-- #include file="../../include/connessione.asp"--> |
e nemmeno con
Codice: | <!-- #include virtual="include\connessione.asp"--> |
perchè o non lo trova o mi dice
Citazione: |
Impossibile utilizzare il simbolo ".." per indicare la directory principale nel file di inclusione. |
Come faccio ad includere in quel file, il file connessione che sta in una cartella della root principale? |
|
Top |
|
|
Pier Dio minore
Registrato: 19/12/05 18:45 Messaggi: 660 Residenza: Sotto il tuo stesso cielo
|
Inviato: 30 Mar 2006 16:36 Oggetto: |
|
|
Allora...uhm
mettendo
Codice: | <!-- #include virtual="/include/DBconn.asp"--> |
mi riconosce il file dbconn.asp di connessione, nella cartella include...
però all'interno del file stesso non trova il percorso del db che è nella root principale...
soluzioni? |
|
Top |
|
|
tas Eroe in grazia degli dei
Registrato: 03/10/05 08:59 Messaggi: 166 Residenza: Profondo nord
|
Inviato: 30 Mar 2006 17:13 Oggetto: |
|
|
Qual è il codice che usi per definire la connessione al database? Hai usato la funzione Server.MapPath? |
|
Top |
|
|
Pier Dio minore
Registrato: 19/12/05 18:45 Messaggi: 660 Residenza: Sotto il tuo stesso cielo
|
Inviato: 30 Mar 2006 17:15 Oggetto: |
|
|
tas ha scritto: | Qual è il codice che usi per definire la connessione al database? Hai usato la funzione Server.MapPath? |
si...
Codice: | <%
dim Connessione
dim ConnStr
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
ConnStr = ConnStr & "Data Source=" & Server.MapPath("database.mdb")
Set Connessione = Server.CreateObject("ADODB.Connection")
Connessione.Open ConnStr
%> |
|
|
Top |
|
|
tas Eroe in grazia degli dei
Registrato: 03/10/05 08:59 Messaggi: 166 Residenza: Profondo nord
|
Inviato: 30 Mar 2006 17:33 Oggetto: |
|
|
Il codice sembra essere ok, a prima vista! Potresti riportare il codice di errore che ti appare nel browser (e se c'è anche il numero di riga)? |
|
Top |
|
|
Pier Dio minore
Registrato: 19/12/05 18:45 Messaggi: 660 Residenza: Sotto il tuo stesso cielo
|
Inviato: 30 Mar 2006 21:44 Oggetto: |
|
|
Niente, non riesco a venirne fuori...
il fatto di avere delle sottocartelle in cui c'è un file che richiama la connessione al database in un'altra cartella mi blocca tutto...
Se uno include virtual cerca il db nella root principale e non nella cartella dei database, quindi non funziona...
se uso l'include con i .., mi dice che non si possono usare i .. come inizio...
non so come fare... |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 31 Mar 2006 07:30 Oggetto: |
|
|
L'abilitazione ai parent path (..) deve essere abilitata sul server, se non lo è allora non ci puoi fare nulla a meno che il server non sia tuo e allora puoi abilitarlo.
Nel caso peggiore (cioè che non puoi usare il ..) vuol dire che dovrai avere tutti i percorsi relativi alla root quindi gli include li farai così:
Codice: | <!-- #include virtual="/include/DBconn.asp"--> |
e il db lo trovi così:
Codice: | server.mappath("/cartelladeldb/nomedb.mdb") |
Dovrebbe funzionare. |
|
Top |
|
|
Pier Dio minore
Registrato: 19/12/05 18:45 Messaggi: 660 Residenza: Sotto il tuo stesso cielo
|
Inviato: 31 Mar 2006 11:03 Oggetto: |
|
|
Grazie, in effetti sembra funzionare...!!!!! |
|
Top |
|
|
kluster Dio maturo
Registrato: 15/04/06 12:14 Messaggi: 2898
|
Inviato: 08 Nov 2006 13:46 Oggetto: |
|
|
Riapro la discussione solo perchè sto segnandomi i forum interessanti.
Gia' che ci sono aggiungo cmq a questo post una classa creata da un mio amico, FOX di www.imente.it, che ho riutilizzato via via quando mi serviva, per creare degli INCLUDE DINAMICI:
Codice: |
Class Class_dinamicInclude
public Fso
public WebPath
private sub Class_initialize()
WebPath = Request.ServerVariables("APPL_PHYSICAL_PATH")
Set Fso = CreateObject("Scripting.FileSystemObject")
end sub
private function Readfile(rFilename)
Dim f
on error resume next
Set f = fso.OpenTextFile(WebPath & rFilename , 1,False, 0)
if err.number<>0 then
Response.Write("<p style=""font-family:verdana;font-size:11"">Include File not Found [<b>" & lCase(WebPath & rFilename) &"</b>]<p>")
Response.Write("<p style=""font-family:verdana;font-size:11"">Error <b>"& Err.number &"</b> [<b>" & Err.Description &"</b>]<p>")
Response.end
end if
on error goto 0
Readfile = f.ReadAll
f.close
Set f=nothing
End Function
Public Function Include(Filename)
dim tMp,Fullpath
tMp = Replace(request.ServerVariables("URL"),"/","\")
Fullpath = Mid(tMp,2,InStrRev(tMp,"\")-1) & Filename
include = Readfile(Fullpath)
include = replace(include,"<" & "%","")
include = replace(include,"%" & ">","")
end function
private sub Class_Terminate()
set fso = nothing
end sub
end class
Sub IncludeFile(argFilename)
dim oIncludeFile
Set oIncludeFile = new Class_dinamicInclude
IncludeFile = oIncludeFile.Include(argFilename)
Set oIncludeFile = nothing
End Sub
|
L'utilizzo:
Codice: |
<!--#include file="class.include.asp"-->
<%
call IncludeFile(request.querystring("lang") & ".asp")
%>
|
in questo modo si bypassa il limite di rendere parametrico l'include |
|
Top |
|
|
|