Avatar billede larsmartin Praktikant
18. februar 2012 - 18:34 Der er 11 kommentarer og
1 løsning

insert file

Hej,
Jeg har en helt basic html opbygget hjemmeside, og vil gerne have indsat min navigation som en fil i stedet for at skulle duplikere den ud på alle undersider.
Jeg har prøvet med <!--#include virtual="nav.shtml" -->
Men det virker ikke og jeg tænker det skylde sat det er til .asp sider og ikke bare standard .html sider?
tak
Avatar billede olebole Juniormester
18. februar 2012 - 18:47 #1
<ole>

Du kan ikke inkludere sider med HTML. Du kan til nød inkludere en JavaScript fil og lade den udskrive menuen - men det er en skidt løsning. I så fald kan søgemaskiner nemlig ikke læse din menu, hvilket meget vel kan betyde, dine sider ikke indekseres.

Den kode, du viser er ikke korrekt. Filen, der inkluderer den anden, må ikke hedde .html, men skal hedde .shtml. Til gengæld må den inkluderede fil hedde, hvad somhelst.

Langt de fleste hoteller understøtter en eller anden form for serverscripting. Mon ikke, det også er tilfældet for dit? Prøv at tjekke ud, hvilket sprog der understøttes, så kan vi finde en passende løsning  =)

/mvh
</bole>
Avatar billede pstidsen Novice
18. februar 2012 - 21:42 #2
Mange webhoteller understøtter PHP og så må det være den oplagte løsning: http://www.w3schools.com/php/php_includes.asp
Avatar billede olebole Juniormester
18. februar 2012 - 22:45 #3
Undgå det site! Det har været (og er) til mere skade end gavn
Avatar billede pstidsen Novice
18. februar 2012 - 23:35 #4
jeg ved det er din (og mange andres holdning), og det er da meget muligt der er fejl på siden. Jeg linkede dog til den alligevel af to grunde:

1. Jeg kunne ikke finde dokumentation på w3.org (som du så godt kan lide). Har de ikke PHP?
2. Der er jo ingen fejl i de par kodeeksempler der er. Til opslagsværk er w3schools da fin nok.
Avatar billede olebole Juniormester
19. februar 2012 - 00:20 #5
1) W3C vedligeholder ikke PHP. Det gør Zend - og referencen ligger på php.net. Siden om include ligger her

2) PHP's funktion include har intet med SSI (Server Side Include) at gøre. SSI har en helt anden syntaks. Du kan godt bruge SSI med PHP, men så er syntaksen helt anderledes end den, w3schools.com viser.

Man må derfor slå fast, at artiklen er forvrøvlet - omend kodestumperne i sig selv ikke indeholder fejl. Forklaringen består af en forvrøvlet sammenblanding af fremgangsmåder, som intet har med hinanden at gøre.

Nej, som opslagsværk er w3schools.com elendigt! Samtidig er det en rigtig skidt idé at vænne begyndere til, at de kan bruge sitet som opslagsværk, da der kun er ganske få sider (og sitet er stort), som ikke indeholder (ofte masser) af fejl.

Det site, jeg linkede til, omtaler vel at mærke kun en brøkdel af fejlene. Det bedste, man kan sige om sitet, er, at der er huller mellem fejlene!

Artiklen slutter: "It is recommended to use the require() function instead of include(), because scripts should not continue after an error.".

Det er ikke noget særlig godt råd. Forfatteren har åbenbart aldrig hørt om fejlhåndtering - og man kan sagtens nævne situationer, hvor det ikke betyder noget, om den requestede fil ikke loader. Det håndterer man bare og stopper scriptet, hvis det er nødvendigt.
Avatar billede olebole Juniormester
19. februar 2012 - 00:25 #6
- og så bruger man i øvrigt enkelte gåseøjne om strenge i PHP, med mindre de indeholder variabler, som skal parses. Da det performer bedre, anses de enkelte for 'god kodepraksis'
Avatar billede larsmartin Praktikant
29. februar 2012 - 15:21 #7
Hmm det er ikke nemt. Foreløbig har jeg taget den besværlige løsning og rettet navigation på hver eneste underside...

Jeg synes ellers at kunne huske at jeg en gang inkluderede sider i html, men det har jo nok været i noget asp.

Men Oles svar om at det ikke kan lade sig gøre, er jo også et svar...
Avatar billede olebole Juniormester
29. februar 2012 - 16:20 #8
<?php
include('fil.html');
?>

- men husk, at fil.html kun må indholde de tags, der faktisk skal bruges på det pågældende sted. Altså ikke noget med <html>, <head> eller <body>.

Den inkluderede fil har jeg kaldt fil.html, men den kunne for den sags skyld også hedder .txt eller ret meget andet. Det er i udgangspunktet blot en tekstfil  =)
Avatar billede larsmartin Praktikant
13. juni 2012 - 16:13 #9
du har svaret Olebole
Avatar billede olebole Juniormester
13. juni 2012 - 16:19 #10
Jeg samler ikke point, men måske pstidsen gør. Ellers lægger du selv et svar og accepterer det, så tråden lukkes  =)
Avatar billede pstidsen Novice
13. juni 2012 - 16:52 #11
Jeg skal ikke have noget :-)

Du lukker bare selv.
Avatar billede larsmartin Praktikant
27. juni 2012 - 09:20 #12
lukket
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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