Avatar billede sim00n Praktikant
29. januar 2004 - 12:36 Der er 7 kommentarer og
1 løsning

asp side visning

Hej hvordan gør man sådan så man får vist en side..? har prøvet det før og kan huske at det er noget med <% og så tror jeg det er include...
Avatar billede csslover Nybegynder
29. januar 2004 - 12:43 #1
<!--#include file="dinfil.asp"-->
Avatar billede ponyboye Nybegynder
29. januar 2004 - 12:58 #2
Jeg vil lige kort forklare forskellen på de to include former :

<!-- #include file="mappenavn/filnavn.asp" -->

og :

<!-- #include virtual="/mappenavn/filnavn.asp" -->

Når man bruger "file" er det en relativ angivelse af stien til filen der skal bruges. I "file" modellen må man desuden indføje 2 punktummer (..) for at angive forældre mappen til den mappe man befinder sig i lige nu. Benyttelse af 2 punktummer i den slags sti-angivelser, kaldes på webserveren for "Parent Paths" (forældre stier). Flere og flere lærer af grusomme fejltagelser ved at give alle og enhver lov til at bruge "Parent Paths" - altså at angive 2 punktummer (..) i en sti. Derved kan en fiks programmør nemlig via "Parent Paths" tiltvinge sig adgang på hele det drev hans kode kører på - dvs. alle andres webhoteller osv.

Når man bruger "virtual" er det en absolut - altså bestemt - angivelse af stien til filen der skal bruges. I "virtual" modellen må der som regel ikke startes med andet end en skråstreg (/). Den første skråstreg fortæller webserveren, at den skal starte sin søgen efter filen, i roden af webhotellet (svarer til C:\), derefter skal den finde "mappenavn" der skal befinde sig i roden, og inde i "mappenavn" mappen skal den så lede efter "filnavn.asp".

Ok - forklaring - hvad med løsning ?

Lad os se denne model engang :

(1) / <--- roden af dit webhotel =  http://www.dinside.dk/
(2) /default.asp  <--- din forside =  http://www.dinside.dk/default.asp
(3) /mappenavn  <-- en mappe du har nogle flere sider i =  http://www.dinside.dk/mappenavn/
(4) /mappenavn/filnavn.asp  <--- en fil placeret i denne mappe =  http://www.dinside.dk/mappenavn/filnavn.asp
(5) /scriptmappe  <-- en mappe =  http://www.dinside.dk/scriptmappe/
(6) /scriptmappe/her/ <-- en mappe du har et script i =  http://www.dinside.dk/scriptmappe/her/
(7) /scriptmappe/her/mitscript.asp <-- det script der skal inkludere "filnavn.asp" -->  http://www.dinside.dk/scriptmappe/her/mitscript.asp

(Håber ikke det virker for uoverskueligt)

I "mitscript.asp" står der i linie 1 :
<!-- #include file="../mappenavn/filnavn.asp" -->

Det betyder at den skal skifte til sin forældremappe (der i dette tilfælde er /scriptmappe/ - vi står i /scriptmappe/her/ lige nu). I forældremappen skal den så finde en mappe der hedder "mappenavn" - og her går det så galt. Vores start-sted er (6), vi beder om at skifte op til forældremappen og havner så i (5), men vi skulle jo have været helt op til (1) for at vi kan finde "mappenavn"-mappen og inde i den "filnavn.asp" filen vi skal bruge. Ikke så godt ...

Vi udskifter så linie i "mitscript.asp" med denne linie i stedet for :
<!-- #include virtual="/mappenavn/filnavn.asp" -->

Det betyder at serveren skal benytte virtuelle stier, der alle har et fast start-sted, nemlig roden (1). Vi er jo stadig i samme script så vi befinder os i (7) og vi skal have fat i (4). Den første skråstreg fortæller serveren, at den skal springe helt tilbage til roden af webhotellet - altså (1). Der skal den lede efter en mappe der hedder "mappenavn" (3) og inde i den skal den finde en fil der hedder "filnavn.asp" (4). All done.

Når du skal ud og hente include-filer forskellige steder, er det vigtigt at du først og fremmest ved hvor scriptet ligger i forhold til den fil du inkludere. Ligger det hele i samme mappe, kan du bare bruge #include file="filnavn.asp" og inkludere den samme sted, for så sparer du serveren for en smule søgearbejde. På store sites kan ting som dette gøre en forkel på 1-2 sekunders ekstra load-tid ved hård belastning.

Hvis du derimod ved at den ligger et helt andet sted, ovenover den mappe scriptet er i, vil jeg anbefale dig at bruge #include virtual="/mappe/filnavn.asp" for så skal du ikke spekulere på hvad der sker når du på et tidspunkt beslutter dig for at flytte "mitscript.asp" over i en anden mappe. Så længe du ikke flytter på (4) vil din #include virtual altid virke, uanset hvor i din struktur du end også befinder dig :+)
Avatar billede sim00n Praktikant
29. januar 2004 - 13:56 #3
Lige meget hvad jeg gør af det som du ponyboye har forklaret virker det ikke... http://www.flax.1go.dk/fs.asp er min side og ude til venstre skulle den vise en menu som ligger på http://www.flax.1go.dk/menu.asp i min fil har jeg skrevet <!-- #include file="menu.asp" --> forstår ikke hvorfor det ikke virker... har også prøvet med /menu.asp
Avatar billede sim00n Praktikant
29. januar 2004 - 14:10 #4
bliver ved med at prøve men det virker stadig ikke :(
Avatar billede ponyboye Nybegynder
29. januar 2004 - 14:14 #5
og din server understøtter asp
Avatar billede sim00n Praktikant
29. januar 2004 - 14:16 #6
der var den ;) det var det der er problemet... tak du får point'sne
Avatar billede ponyboye Nybegynder
29. januar 2004 - 14:17 #7
Hvis filen du vil inkludere ligger i roden af dit webhotel, bruger du blot :

<!-- #include virtual="/filnavn.asp" -->

husk altid /før filnavnet. det fortæller serveren at den skal starte i roden
Avatar billede ponyboye Nybegynder
29. januar 2004 - 14:18 #8
ja der kan man bare se
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