Avatar billede themepark Nybegynder
04. september 2003 - 16:28 Der er 9 kommentarer og
2 løsninger

Request.ServerVariables

Hvad er forskellen på følgende 3 linjer?

Request.ServerVariables("PATH_INFO")
Request.ServerVariables("SCRIPT_NAME")
Request.ServerVariables("URL")

I en ASP fil får jeg nøjagtigt det samme. Er der eventuelt en, der kan demonstrere forskellen ved et tænkt eksempel?
Avatar billede hossein Nybegynder
04. september 2003 - 17:38 #1
Avatar billede themepark Nybegynder
04. september 2003 - 17:46 #2
Ja...og nej.

Jeg HAR selv læst en lignende oversigt, men jeg kan ikke rigtigt gennemskue, hvad forskellen skulle være :-(
Avatar billede socle Nybegynder
05. september 2003 - 03:16 #3
fra devguru:
PATH_INFO is extra path information as given by the client.
SCRIPT_NAME is the virtual path to the calling script.
URL is the base portion of the URL.

URL adskiller sig i hvert fald ved at den ikke medtager querystring, der i øvrigt kan hentes isoleret ved at benytte QUERY_STRING

SCRIPT_NAME er anvendelig når du kører 'mellem' scripts der ikke producerer noget output, og altså ikke har nogen virtuel adresse hos brugeren (PATH_INFO)
Avatar billede socle Nybegynder
05. september 2003 - 03:17 #4
det sidste var muligvis noget vrøvl, men idéen er vist god nok
Avatar billede hossein Nybegynder
05. september 2003 - 09:09 #5
Jeg tror storbytossen vil se resultattet efter at han har kørt dette f ex:

<%
dim a, b, c
A=Request.ServerVariables("SCRIPT_NAME")
B=Request.ServerVariables("Path_Info")
c=Request.ServerVariables("URL")

Response.Write a & "<br>"
Response.Write b & "<br>"
Response.Write c & "<br>"

%>
Outputtet for alle 3 er ens, men forklaring af deres funktionalitet er forskellige. Jeg kan ikke finde en output hvor den viser forskellen. Er det ikke det som du vil ha?
>> ... der kan demonstrere forskellen ved et tænkt eksempel?
Avatar billede socle Nybegynder
05. september 2003 - 09:57 #6
URL kan testes ved at tilføje en querystring i browseren:

http://www.domæne.dk/script.asp?test=ja
URL skulle give outputtet: http://www.domæne.dk/script.asp

jeg gætter på at SCRIPT_NAME kan testes ved at køre et mellemliggende script, der gemmer SCRIPT_NAME i f.eks. en session, der hentes ned igen i script.asp, der kan indeholde PATH_INFO.

så skulle de vist være forskellige
Avatar billede themepark Nybegynder
05. september 2003 - 10:26 #7
hossein, jow, det var da mit håb, men jeg tror så småt, jeg er begyndt at se lyset på trods af at de stadig giver samme resultat.

Jeg ville lige prøve at lægge dem ud på en hjemmeside, men det kunne jeg selvfølgelig ikke pga min skoles proxy...SUK :(

Men det lader til at SCRIPT_NAME ville være det rigtige, for det jeg skal i en ASP fil, er at få selve navnet på den ASP fil...så har jeg ramt helt ved siden af med det gæt eller...?
Avatar billede hossein Nybegynder
05. september 2003 - 10:50 #8
OK, men hvad er det du er i gang med? sender du parameter fra side til side også vil du se det rigtige URL med detaljer? forklar venligst.
Avatar billede themepark Nybegynder
05. september 2003 - 10:54 #9
Nej nej, det er slet slet ikke så kompliceret.

Jeg vil bare gerne skrive navnet på filen i selve filen...altså med Response.Write...men hvis filen f.eks. hed Test.asp og jeg bare skrev

Response.Write "Test.asp"

ville jeg jo skulle ændre den linje (og hvis der er mange andre, også dem), hvis jeg omdøbte filen :)

Derfor prøver jeg at finde ud af hvilken af de 3 nævnte muligheder, jeg skal bruge, og såvidt jeg kan regne ud, må det vel blive SCRIPT_NAME?
Avatar billede hossein Nybegynder
05. september 2003 - 10:58 #10
Ok, så er det SCRIPT_NAME, rigtigt.
Avatar billede themepark Nybegynder
05. september 2003 - 11:04 #11
Danke schön :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester