webForumDet fria alternativet

kan inte komma upp en nivå mapp strukturen??

ASP

9 svar · 380 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

Får följande fel när jag laddat upp sidan på servern:

Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

/af_login.asp, line 68

The '..' characters are not allowed in the Path parameter for the MapPath method.

Och det är följande rad som inte vill fungera

x = Server.MapPath("../databases/base.mdb")

Men det roliga är att det fungerar hur bra som helst hemma på min IIS ??? Kan man göra på något annat sätt?

Jo det var en annan sak också, om man typ har en instans av sin databas fråga i en variabel som t.ex "query" ska man inte stänga den på något sätt efter man är klar. Trodde typ man skulle skriva query = nothing men det var visst fel ??

Mvh

Medlem sedan juni 200032 967 inlägg
#2

Kan man göra på något annat sätt?

Du kan utgå ifrån roten (/) eller hårdkoda fysisk sökväg istället för att använda server.mappath. Standardinställningen i IIS6 tillåter inte att du använder två punkter för att stega uppåt.

Jo det var en annan sak också, om man typ har en instans av sin databas fråga i en variabel som t.ex "query" ska man inte stänga den på något sätt efter man är klar. Trodde typ man skulle skriva query = nothing men det var visst fel ??

Dina databasobjekt (recordset- och connectionobjekt exempelvis) skall du stänga och destruera.

objRS.Close
set objRS = Nothing
objConn.close
set objConn = Nothing
Medlem sedan sep. 20011 722 inlägg
#3

Du kan annars be de som har hand om webbhotellet att tillåta detta med "../"

Medlem sedan juni 20019 519 inlägg
#4

KoTTeN: Hur gör man om man kör en server själv at göra så att ../ fungera?

Medlem sedan aug. 2001969 inlägg
#5

@nders:

hur menar du med att utgå från roten eller hårdkoda fysiskt sökväg.. Det är så att dom har en sådan skum katalog struktur... så när jag loggar in på ftp'n så ska alla html och asp filer ligga i en katalog under roten som heter webroot men sedan så måste man lägga databasen i en mapp som heter databases som också ligger i roten... som om jag är i \webroot hur tar jag mikg upp en nivå och in i \databases???

Mvh

Medlem sedan juni 200032 967 inlägg
#6

Du får hårdkoda hela sökvägen. Om du skriver ut Server.Mappath("/") får du ut den var din webrot ligger, sedan är det bara att manipulera.

Medlem sedan aug. 2001969 inlägg
#7

nja

Skrier jag Server.Mappath("/") så kommer jag till min webrot. Men mappen med databaserna ligger ju ovanför webroten..

\
---\databes
---\webroot = hitt kommer jag ju om jag kör Server.Mappath("/")

nu snurrar jag säkert men jag hänger inte riktigt med!!

Medlem sedan juni 200032 967 inlägg
#8

när du skriver ut server.mappath("/") får du en fysisk sökväg, ex c:\foo\bar\webroot. Då vet du ju var grejerna ligger, och kan specificera c:\foo\bar\databases?

Medlem sedan aug. 2001969 inlägg
#9

Okey

Nu är jag med, ska prova detta..

Tack

Medlem sedan sep. 20011 722 inlägg
#10

voigtann1 skrev:

KoTTeN: Hur gör man om man kör en server själv at göra så att ../ fungera?

Inte den blekaste faktiskt, jag brukar låta andra göra det åt mig :e. Du får fråga på IIS forumet.

297 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
159 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)