webForumDet fria alternativet

Inkludera med Querystring

14 svar · 277 visningar · startad av Erik Juhlin

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#1

Jag hade tänkt använda den här koden:

<% If Request.QueryString("sida") = "" Then %>Oj, nu blev det något fel. Meddela gärna webmastern om detta (<a href="mailto:erik@juhlin.nu">erik@juhlin.nu</a> ).<% Else %><%
Path = Server.MapPath(Request.QueryString("sida") & ".inc")
Set FilSys = Server.CreateObject("Scripting.FileSystemObject")
If Request.QueryString("sida") <> "" and FilSys.fileExists(Path) Then
	Set Read = FilSys.OpenTextFile(Path)
	Do While Not read.AtEndOfStream
	Response.Write read.ReadLine
	Loop
	Set Read = nothing
Else
%>Oj, nu blev det något fel. Meddela gärna webmastern om detta (<a href="mailto:erik@juhlin.nu">erik@juhlin.nu</a> ).<%
End If
Set FilSys = nothing
%><% End If %>

Men problemet är att all kod från filen man inkluderar hamnar på en rad. Hur skriver man för att undvika det? Och kan det uppstå några andra problem med den här koden?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

@ndersMedlem sedan juni 200032 969 inlägg
#2
Response.Write read.ReadLine & vbcrlf

typ. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#3

Tack! :)
Kom förresten på att den första If satsen är ganska onödig.. Eller?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

@ndersMedlem sedan juni 200032 969 inlägg
#4

jag vet inte.

din kod är så grötig så det gör ont i själen. :x ;)

jo, den kanske är lite onödig ser jag nu när jag fräschat upp din kod.

du kan få köpa den för en femhundring. ;)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#5

Har skrivit så här nu. Kan förresten säga att spango skrivit grunden, sen har jag modifierat (läs massakrerat) den.

<%
kategori = Request.QueryString("kategori") & "/"
If Request.QueryString("kategori") = "" Then
kategori = ""
End If
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
End If
Path = Server.MapPath(kategori & sida & ".inc")
Set FilSys = Server.CreateObject("Scripting.FileSystemObject")
If sida <> "" and FilSys.fileExists(Path) Then
Set Read = FilSys.OpenTextFile(Path)
Do While Not read.AtEndOfStream
Response.Write read.ReadLine & vbcrlf
Loop
Set Read = nothing
Else
%>Oj, nu blev det något fel. Meddela gärna webmastern om detta (<a href="mailto:erik@juhlin.nu">erik@juhlin.nu</a> ).<%
End If
Set FilSys = nothing
%>

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

EclipseMedlem sedan juli 20003 825 inlägg
#6

Path = Server.MapPath(kategori & sida & ".inc")

Kan inte du förklara för mig hur detta kan fungera? Om filen ligger i mappen www och kategori är "asp-kod" och sida är "index" så borde en response.write på din Path bli:

c:\arbeten\kunder\wwwasp-kodindex.inc

Är det bara jag som vill ha det till:

Path = Server.MapPath("\" & kategori & "\" & sida & ".inc")

c:\arbeten\kunder\www\asp-kod\index.inc

???

- hjälp, jag behöver vård!

------------------
Never underestimate your opponents.

@ndersMedlem sedan juni 200032 969 inlägg
#7

hör inte till frågan egentligen, men det verkar som om jakob faktiskt behöver vård för sitt server.mappath-missbruk. :e

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

EclipseMedlem sedan juli 20003 825 inlägg
#8

Men håll med mig då!!! Här står jag ensam på barikaden och kämpar och säger att Path = Server.MapPath(kategori & sida & ".inc") är en ren jävla omöjlighet och ingen reagerar!?!

Hela forumet är ju fullt av massa server.mappath kod som inte borde fungera och ingen säger nåt!! Ingen säger att jag har rätt, ingen säger att jag har fel. Klart man blir misstänksam...

Jag menar, hur stor risk på en skala är det att hela forumet har fel och jag har rätt?! Den kan ju inte vara direkt överhängande...

Dessutom är det visst relevat till tråden.

OK, jag går med på att om kategori = "\asp-kod" och sida = "\index" då kan Path = Server.MapPath(kategori & sida & ".inc") fungera men ingen normal snubbe hackar sån kåd...

------------------
Never underestimate your opponents.

@ndersMedlem sedan juni 200032 969 inlägg
#9

jag vet helt enkelt inte.

jag har inte använt server.mappath på ungefär tre år, så jag vet inte hur den fungerar.

jag tycker vi ropar i kör: emission! help needed!

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

VideMedlem sedan dec. 19998 577 inlägg
#10

Okej här kommer några exempel på server.mappath, säger att vi står i en mapp som heter 'test':

Server.MapPath("test.asp")
D:\Inetpub\wwwroot\test.asp

Server.MapPath("\test.asp")
D:\Inetpub\wwwroot\test\test.asp

Server.MapPath("test\test.asp")
D:\Inetpub\wwwroot\test\test.asp

Server.MapPath("\")
D:\Inetpub\wwwroot

Mvh, Vide

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

EclipseMedlem sedan juli 20003 825 inlägg
#11

OK, jag ger mig delvis! Tack Vide, alt. 1 och 2 var nya för mig. Jag var BERGIS på att det skulle vara samma resultat.

Men Path = Server.MapPath(kategori & sida & ".inc") vill jag i så fall fortarande ha till: (alt. 3 ovan)

Path = Server.MapPath(kategori & "\" & sida & ".inc")

------------------
Never underestimate your opponents.

nakozMedlem sedan dec. 1999653 inlägg
#12

Eclipse.. nu tror jag du läser lite dåligt... kolla vad variabeln kategori är...

kategori = Request.QueryString("kategori") & "/"

"/" är redan inkluderat i variabeln, så därför används inget "slash" i MapPathen... :e

MVH

------------------
nakoz :)

EclipseMedlem sedan juli 20003 825 inlägg
#13

OK, jag läser dåligt... men om man kan göra en sak på två sätt så tycker jag nog att han som skrev den kåden valde det sämre... men det hör kanske inte hit.

Men å andra sidan, det måste väl endå vara backslash!? & "\"

c:\wwwroot\kunder\www\asp-kod/index.inc

---

Jag går med på att jag läser dåligt (man ser bara det man vill se...) men era förslag uppmanar till sunkiga lösningar och det är över lag rätt tragiskt...

------------------
Never underestimate your opponents.

nakozMedlem sedan dec. 1999653 inlägg
#14

kolla dehär....
http://localhost/asp-kod/index.inc

då e de en annan story va? :e

MVH

------------------
nakoz :)

EclipseMedlem sedan juli 20003 825 inlägg
#15

nakoz, ja verkligen:

<!-- #INCLUDE VIRTUAL="/asp-kod/index.inc"-->

Det är inte det vi diskuterar.

------------------
Never underestimate your opponents.

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)