webForumDet fria alternativet
Logga in / Bli medlem

Script_name

ASP

10 svar · 208 visningar · startad av star

Medlem sedan apr. 200142 inlägg
Trådstart#1

Goderafton.

När jag hämtar hem Servervariablen Script name till en variabel för att senare i scriptet länka till egna sidan så fungerar inte detta. Är det någon som vet varför?

Medlem sedan juni 200032 967 inlägg
#2

Inte om du inte visar hur du gjort.

Medlem sedan apr. 200142 inlägg
#3

Ok.

strPath = Request.Servervariables("SCRIPT_NAME")

strHref = "" & strPath & ""
strLinkBegin = "<a href="
strLinkEnd = "</a>"
strLinkContent = "?edit=info">"
strLinkName = strName

Response.Write(strLinkBegin & strHref & StrLinkContent & strLinkName & strLinkEnd)

Ni får be om ursäkt, jag har tagit brottstycken ur koden för att illustrera exakt hur jag använder mig av SCRIPT_NAME istället för att publicera allt.

Detta kan medföra att jag har missat någonting någontsans och att ovanstående kod inte fungerar att kopiera rakt av.

Medlem sedan juni 200032 967 inlägg
#4

Och på vilket sätt fungerar det inte?

Medlem sedan apr. 200142 inlägg
#5

När man tittar i location ser det ut så här när man tittat på länken:
http://localhost/project/?edit=info

Netskräp får tuppjuck

Medlem sedan juni 200167 inlägg
#6

Lysande länk.....

Medlem sedan aug. 20011 946 inlägg
#7

Du kan ju inte lägga ut en länk till din egen localhost här på wf det funkar ine bra då

Medlem sedan juni 200032 967 inlägg
#8

Du kan ju inte lägga ut en länk till din egen localhost här på wf det funkar ine bra då

Det spelar ingen roll i detta fallet, och jag tror inte star menade att man skulle klicka på länken heller.

Varför det blir så där har jag ingen aning om. Gör jag samma sak på min IIS så fyller den i default-dokumentets namn (default.asp när det är det som körs), även om det står localhost/project/ i adressraden. Kör jag din kod på min maskin innehåller alltså SCRIPT_NAME /project/Default.asp. Om den gjorde det hos dig så skulle det nog fungera.

Fungerar det om du skriver dokumentets namn också i adressraden?

Medlem sedan apr. 200142 inlägg
#9

Nej, det var inte menat att man skulle klicka på länken. Precis som Anders sa var det för att ni skulle förstå hur epa allt blir.

Ja, det fungerar även i Netscape om jag skriver hela namnet i adressraden. Men det känns litet underligt. SCRIPT_NAME är ju till för att man ska slippa det bekrymret.

Jag har testat detta externt (eh, inte lokalt) och får samma typ fel i adressraden.

Alltså: minserver.vadsomhelst.com/?edit=info

Är det någon av er som har försökt göra som jag? Ehhh, en grej till, som kan vara kritisk:

Scriptexemplet ligger i en fil som importeras till default.asp. Kan det ha något med saken att göra?

Tackar för svar på förhand

Star

Medlem sedan juni 200032 967 inlägg
#10

Om du i dokumentet bara skriver ut script_name med response.write?

Och om du gör detsamma i include-filen? (antar att det är vanlig ssi-include du använder dig av)

Mvh,

Medlem sedan apr. 200142 inlägg
#11

Mycket skumt

Response.Write("WITH LOVE FROM:" & Request.Servervariables("SCRIPT_NAME"))
strScriptName = Request.Servervariables("SCRIPT_NAME")
Response.Write("FROM SCRIPT FILE VAR WITH LOVE:" & strScriptName)

Fungerar både i default.asp och i script.asp men returnerar alltid default.asp. Vilket är bra. Problemet är den inte gör det i länkformatet.

Tänkta tänka tänka.

AHA!

Hmmm. Nu tycker jag vi mörklägger det här. Felet ligger i en feldöpning i variablerna som kunde ha undvikits om idioten här (jag) hade kört med option explicit som vanliga människor.

Tack för ert stöd och för er förståelse.

Star

378 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
126 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)