Avatar billede kasperh Nybegynder
25. oktober 1999 - 16:19 Der er 4 kommentarer og
1 løsning

Inkludere html fra flere forskellige filer.

Jeg har en hjemmeside som har en masse undersider. Siderne er sat op i tables, og derfor er det MEGET besværligt, hver gang jeg skal ændre noget i min menu på siderne.
Derfor kunne jeg godt tænke mig at vide om der fandtes en smart måde at inkludere "starten" af html dokumentet(der hvor min menu+titel bla. ligger, og så skrive selve brødteksten og derefter inkludere en "footer" hvor ting som "/html" osv stod.
Avatar billede michaelras Nybegynder
25. oktober 1999 - 16:32 #1
Det er det da...

Du kan have Hovedet liggende i en fil, brødteksten i en anden og foden i en tredje. Med en parameter til scriptet fortæller du bare hvilken brødtekst du ønsker og vola....

ex:
open (FILE, "<hoved.txt") or die "bla bla, $! ikke fundet";
print <FILE>;
close (FILE);

open (FILE, "<" . $fil_fra_parameter) or die "bla bla, $! ikke fundet";
print <FILE>;
close (FILE);

open (FILE, "<fod.txt") or die "bla bla, $! ikke fundet";
print <FILE>;
close (FILE);

hvor hoved.txt indeholder hovedet (menuer osv), fod.tx indeholder afsluttende ting (</html> osv) og $fil_fra_parameter er er fil der bliver angivet som parameter til scriptet, fx:
http://www.tjaa.dk/side.cgi?side=side2.html

Michael
Avatar billede kasperh Nybegynder
26. oktober 1999 - 15:26 #2
kan du give mig en mere nøjagtig kode. jeg ved ikke så meget om perl, og ville derfor gerne have at du evt. gav mig et eksempel på en helt fil. bla hvordan du læser parametre.
Avatar billede michaelras Nybegynder
27. oktober 1999 - 13:35 #3
-------- HERFRA ---------

#!/usr/bin/perl
@Params = split(/&/,$ENV{'QUERY_STRING'});
foreach $Index (0 .. $#Params)
  {
  $Params[$Index] =~ s/\+/ /g;
  ($Key, $Val) = split(/=/,$Params[$Index],2);
  $Key =~ s/%(..)/pack("c",hex($1))/ge;
  $Val =~ s/%(..)/pack("c",hex($1))/ge;
  $Params{$Key} = $Val;
}
$side = $Params('side');
if ($side eq "")
{
  # Sørger for at hvis der ikke angives nogen parameter vises der
  # automatisk index.html
  $side = "index.html";
}
print "content-type: text/html\n\n";

open (FILE, "<hoved.txt") or die "bla bla, $! ikke fundet";
print <FILE>;
close (FILE);

open (FILE, "<" . $side) or die "bla bla, $! ikke fundet";
print <FILE>;
close (FILE);

open (FILE, "<fod.txt") or die "bla bla, $! ikke fundet";
print <FILE>;
close (FILE);

------- HERTIL -------

Burde virke, har ikke lige testet det (for evt. tastefejl)

Michael
Avatar billede bbs Nybegynder
30. marts 2001 - 23:17 #4
Tillykke med Spørgsmål nr. 6000 !
Avatar billede wanger Nybegynder
04. juli 2002 - 00:13 #5
WANGEREN var her.. .,'¨´,.

TILLYKKE MED DE 6000
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