/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Sammensætning af forskellige HTML-filer me~
Fra : Bertel Lund Hansen


Dato : 17-07-03 19:58

Hej alle

Jeg har kikket lidt på PHP og fandt ud af at det faktisk er forholdsvis
simpelt at ordne Fidusos sider med PHP. I øjeblikket styrer jeg dem med et
program, men på serveren ligger den samme menu i mange eksemplarer fordi den
er lagt ind på hver eneste side.

Nu vil jeg gerne trække alt det fælles ud i separate filer som jeg inkluderer.
Det er i princippet nemt nok.

Problemet er at titel og overskrift skal være forskellige. Hvordan løser jeg
det smartest? Det vil være tilstrækkeligt med en principskitse. Jeg kan
selvfølgelig godt lave at det fælles i separate filer og så lave filer for
hver side med det der er specifikt, men jeg tænkte at det måske kunne gøres
smartere.

Det der er specifikt for siderne er titel og overskrift. I øjeblikket er det
også sådan at menulinket til en side bliver til normal tekst når man står på
den.

Her er et skematisk eksemplar af en Fidusoside:

<HTML>
<HEAD>
<TITLE>Forside</TITLE>
</HEAD>

<BODY>
<FONT SIZE="+1">Forside</FONT>
<TABLE>
<TR><TD>Forside</TD></TR>
<TR><TD><A HREF="splittet.htm">Splittede ord</A></TD></TR>
</TABLE>

<!-- Sidens indhold, start -->

<H4>Udgangspunktet</H4>
<P>Der er ved at brede sig en uskik i danske tekster.</P>

<!-- Sidens indhold, slut -->

</BODY>
</HTML>

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

 
 
Martin C. Petersen (17-07-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 17-07-03 20:12

> Problemet er at titel og overskrift skal være forskellige. Hvordan løser
jeg
> det smartest? Det vil være tilstrækkeligt med en principskitse. Jeg kan
> selvfølgelig godt lave at det fælles i separate filer og så lave filer for
> hver side med det der er specifikt, men jeg tænkte at det måske kunne
gøres
> smartere.
Hvis du har adgang til en database (mysql måske), kunne du lægge alle dine
sider ind i en tabel, således at en post har følgende felter:
id,title,headline,content
Hvor content er adressen på html-filen, der indeholder dit indhold (hvis du
altså ikke ønsker også at opbevare dette i databasen).

Så skal du bare lave et script, der modtager et id, svarende til en post i
tabellen, og viser menuen med det valgte element markeret, samt inkluderer
det rette indhold.


Martin



Anders Thorsen Holm (17-07-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 17-07-03 20:33

Bertel Lund Hansen wrote:

> Problemet er at titel og overskrift skal være forskellige. Hvordan
> løser jeg det smartest? Det vil være tilstrækkeligt med en
> principskitse. Jeg kan selvfølgelig godt lave at det fælles i
> separate filer og så lave filer for hver side med det der er
> specifikt, men jeg tænkte at det måske kunne gøres smartere.

Udover database-løsningen nævnt andetsteds i tråden, kunne du måske
benytte dig af noget lidt tilsvarende.

Du har eet script, der indeholder en fortegnelse over alle dokumenter,
med følgende oplysninger:

id, titel, overskrift

Det kunne eventuelt ligge som et array af objekter med ovennævnte
attributter.

Et argument til et andet script, der skal vise siden, benyttes til at
slå op i fortegnelsen. Findes det pågældende id, benyttes include()
eller require() til at hente indholdet fra den relevante fil.

Titel og overskrift genereres ved at hente informationen fra det objekt
med passende id.

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fredgaard!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/?page=fredgaard

Ulrik Nielsen (17-07-2003)
Kommentar
Fra : Ulrik Nielsen


Dato : 17-07-03 22:52

Anders Thorsen Holm wrote:
> Bertel Lund Hansen wrote:
>>Problemet er at titel og overskrift skal være forskellige. Hvordan
>>løser jeg det smartest? Det vil være tilstrækkeligt med en
>>principskitse. Jeg kan selvfølgelig godt lave at det fælles i
>>separate filer og så lave filer for hver side med det der er
>>specifikt, men jeg tænkte at det måske kunne gøres smartere.
>

smarty er svaret :)
- det er en metode hvor du adskiller design og logik på en ret flot
måde, og det er lavet til genbrug....

http://smarty.php.net


--
>> ulrik - ulrik(@)lazy.dk
excuse of the day : incompatible bit-registration operators
from bofh : http://www.cs.wisc.edu/~ballard/bofh/


Poul-Erik Andreasen (17-07-2003)
Kommentar
Fra : Poul-Erik Andreasen


Dato : 17-07-03 23:29

On Thu, 17 Jul 2003 23:51:39 +0200
Ulrik Nielsen <ulrik@lazy.dk> wrote:

> Anders Thorsen Holm wrote:
> > Bertel Lund Hansen wrote:
> >>Problemet er at titel og overskrift skal være forskellige. Hvordan
> >>løser jeg det smartest? Det vil være tilstrækkeligt med en
> >>principskitse. Jeg kan selvfølgelig godt lave at det fælles i
> >>separate filer og så lave filer for hver side med det der er
> >>specifikt, men jeg tænkte at det måske kunne gøres smartere.
> >
>
> smarty er svaret :)
> - det er en metode hvor du adskiller design og logik på en ret flot
> måde, og det er lavet til genbrug....
>
> http://smarty.php.net


Det kan jeg også anbefale, det er virkeligt cool.


--
Poul-Erik Andreasen

Jesper Brunholm (18-07-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 18-07-03 10:06

Bertel Lund Hansen wrote:
> Jeg har kikket lidt på PHP og fandt ud af at det faktisk er forholdsvis
> simpelt at ordne Fidusos sider med PHP. I øjeblikket styrer jeg dem med et
> program, men på serveren ligger den samme menu i mange eksemplarer fordi den
> er lagt ind på hver eneste side.
>
> Nu vil jeg gerne trække alt det fælles ud i separate filer som jeg inkluderer.
> Det er i princippet nemt nok.
>
> Problemet er at titel og overskrift skal være forskellige. Hvordan løser jeg
> det smartest? Det vil være tilstrækkeligt med en principskitse. Jeg kan
> selvfølgelig godt lave at det fælles i separate filer og så lave filer for
> hver side med det der er specifikt, men jeg tænkte at det måske kunne gøres
> smartere.

Der er flere gode måder. Jeg kan ikke se fidusen med smarty - hvorfor
lære et template-sprog når man kan php?

Jeg bruger tit at lave arrays med siderne, hvor URLen er ID og resten af
sidens data fremgår af arrayet:
$minesider=array(
'index.php' => array('titel'=>'Forsiden',
'overskrift' => 'Forsidens overskrift'),

'kontakt.php' => array('titel'=>'Kontaktoplysninger',
'overskrift' => 'Sådan kontakter du FIDUSO'),
/* osv for alle siderne */
);


Forskellen til en database er minimal, men det kræver ikke et
databaseopkald...

på siderne laver jeg så en foreach() løkke som gennemløber, sætter den
aktuelle side med dertil hørende formattering og sætter variablerne
$titel, $overskrift osv.

De variabler skriver jeg så ud i mit docmodel-document.

Jeg håber det er forståeligt og brugbart.

Et alternativ er at sætte variablerne på hver side, jeg synes bare det
er lettere kun at skulle rette et sted.

mvh

Jesper Brunholm

--
Phønix - dansk folk-musik i front - <http://www.phonixfolk.dk/>
H.C. Andersen-Centret: <http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: <http://garion.dk/>


Bertel Lund Hansen (18-07-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 18-07-03 10:59

Jesper Brunholm skrev:

>Der er flere gode måder. Jeg kan ikke se fidusen med smarty - hvorfor
>lære et template-sprog når man kan php?

Jeg vil helst lære PHP, bl.a. fordi jeg kan C(++) allerede.

>Jeg bruger tit at lave arrays med siderne, hvor URLen er ID og resten af
>sidens data fremgår af arrayet:

Okay.

>på siderne laver jeg så en foreach() løkke som gennemløber, sætter den
>aktuelle side med dertil hørende formattering og sætter variablerne
>$titel, $overskrift osv.

Skal det forstås sådan (jeg er ikke vant til PHP endnu) at
siderne faktisk er ens, og at det er URL'en der bestemmer hvilken
side der bliver kaldt og også hvilke værdier de variable får?

Det fører så til et andet spørgsmål som nok skal besvares med et
nej:
Kan man lave et superdokument der kan tage mod alle URL'er til
ens domæne og vise den ønskede side alligevel?

Jeg har lavet noget foreløbigt som jeg allerede har sat i værk.
Index.php ser f.eks. sådan ud:

<?
require("funktioner.php");

$titel="Forside";
$dato="15/6-2003";
include("start.txt");
include("index.txt");
include("slut.txt");
?>

Men da der er 27 sider, er der også 27 php-filer der ser næsten
ens ud. Det var det jeg kunne tænke mig at folde ned i én fil -
men det er vel umuligt?

>Jeg håber det er forståeligt og brugbart.

Det var sådan noget jeg forestillede mig.

>Et alternativ er at sætte variablerne på hver side, jeg synes bare det
>er lettere kun at skulle rette et sted.

Nemlig.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Anders Thorsen Holm (18-07-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 18-07-03 11:35

Bertel Lund Hansen wrote:

> Skal det forstås sådan (jeg er ikke vant til PHP endnu) at
> siderne faktisk er ens, og at det er URL'en der bestemmer hvilken
> side der bliver kaldt og også hvilke værdier de variable får?

Jeg har opbygget min egen hjemmeside på følgende måde (måske ikke det
smarteste - men det virker).

Hvert dokument er faktisk blot et skrabet HTML-dokument uden head-,
body- eller html-tags.

Eks.: jarre.inc
<h1>Zoolook</h1>
<h2>Jean Michel Jarre</h2>
<p>Som sagt er jeg lidt af en Jarre-fanatiker, hvorfor jeg har tilegnet
denne del af min hjemmeside til synthesizer-kongen...</p>
....osv...

index.php kaldes med et argument ved navn 'page'. På baggrund af dette
argument skrives title, menuen markeres korrekt og den rigtige fil
inkluderes.

Eks.: index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Zoolook
<?php
switch($page) {
   case "jarre" : echo " &middot; Jean Michel Jarre"; break;
   case "uni" : echo " &middot; Aarhus Universitet"; break;
   [snip]    
   default : break;
}
?>
</title>
<link rel="stylesheet" type="text/css" href="import.css" />
</head>
<body>
<div id="wrapper">
<div id="menu">
<ul>
<li>
<a href="/~zoolook/"
<?php echo ($page=="" ? " id=\"current\"" : ""); ?>
>Home</a>
</li>
<li>
<a href="?page=cv"
<?php echo ($page=="cv" ? " id=\"current\"" : ""); ?>
>CV</a>
</li>

[snip]

<li>
<a href="?page=sitemap"
<?php echo ($page=="sitemap" ? " id=\"current\"" : ""); ?>
>Sitemap</a>
</li>
</ul>
</div>

<div id="contents">
<?php
switch($page) {
   case "cv": require "files/cv.inc"; break;
   case "uni" require "files/uni.inc"; break;
   [snip]
   case "" : require "files/home.inc"; break;
   default : require "files/error.inc";
   
}
?>
</div>
</div>
<div id="footer">
[snip]
</div>
</body>
</html>

Samtlige sider kan altså tilgås ved at kalde index.php med et (eller i
visse tilfælde flere) argument(er) som sådan:

http://www.daimi.au.dk/~zoolook/index.php?page=jarre
http://www.daimi.au.dk/~zoolook/index.php?page=uni

eller i forkortet form:

http://www.daimi.au.dk/~zoolook/?page=jarre
http://www.daimi.au.dk/~zoolook/?page=uni

Når der skal linkes til et dokument, eksempelvis fra menuen, skrives
blot noget i stil med:

<a href="?page=uni">Uni</a>



Ovennævnte eksempel er måske lidt klodset, idet jeg ikke rigtig har eet
stort "register" at slå op i, men blot benytter en switch-statement til
at afprøve forskellige muligheder.

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fredgaard!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/?page=fredgaard

Mads Lie Jensen (18-07-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 18-07-03 13:41

On Fri, 18 Jul 2003 11:59:11 +0200, Bertel Lund Hansen
<nospamfor@lundhansen.dk> wrote:

>Det fører så til et andet spørgsmål som nok skal besvares med et
>nej:
>Kan man lave et superdokument der kan tage mod alle URL'er til
>ens domæne og vise den ønskede side alligevel?

Ja, det kan man.

>Jeg har lavet noget foreløbigt som jeg allerede har sat i værk.
>Index.php ser f.eks. sådan ud:
>
><?
> require("funktioner.php");
>
> $titel="Forside";
> $dato="15/6-2003";
> include("start.txt");
> include("index.txt");
> include("slut.txt");
>?>
>
>Men da der er 27 sider, er der også 27 php-filer der ser næsten
>ens ud. Det var det jeg kunne tænke mig at folde ned i én fil -
>men det er vel umuligt?

Intet er umuligt
Du kunne f.eks lave dig en array ala:
<?php
$sider = array(
   'indhold' => array(
      'dato' => "15/6-2003",
      'titel' => "Indholdsfortegnelsen",
      'fil' => "/navn/på/fil/med/indholdet.txt"
   ),
   'side1' => array(
      '....
   )
);

// Udskriv html til start af siden
$side = $_GET['side'];
echo "<h1>" . $sider[$side]['titel'] ."</h1>";
echo "Dato: ". $sider[$side]['dato'] ."<br>";
include_once($sider[$side]['fil']);
// Udskriv htm til at afslutte siden.

?>

Så kan du kalde siden som
http://www.dk/visside.php?side=indhold

Der skal selvfølgelgi noget fejltjek osv. i ovenstående, men det er en
måde at gøre det på.


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Bertel Lund Hansen (19-07-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 19-07-03 12:56

Mads Lie Jensen skrev:

>Du kunne f.eks lave dig en array ala:

>$sider = array(
>   'indhold' => array(
>      'dato' => "15/6-2003",
>      'titel' => "Indholdsfortegnelsen",
>      'fil' => "/navn/på/fil/med/indholdet.txt"
>   ),
>   'side1' => array(
>      '....
>   )

Hvordan gennemløber man et array af arrays? Hvis jeg f.eks. ville
have udskrevet en liste over titlerne i eksemplet?

Jeg har kikket i manualen på nogle array-funktioner og noget med
each() og list(), og jeg kan godt finde ud af et endimensionalt
array.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Anders Thorsen Holm (19-07-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 19-07-03 13:17

Bertel Lund Hansen wrote:

> Mads Lie Jensen skrev:
>>$sider = array(
>> 'indhold' => array(
>> 'dato' => "15/6-2003",
>> 'titel' => "Indholdsfortegnelsen",
>> 'fil' => "/navn/på/fil/med/indholdet.txt"
>> ),
>> 'side1' => array(
>> '....
>> )
>
> Hvordan gennemløber man et array af arrays? Hvis jeg f.eks. ville
> have udskrevet en liste over titlerne i eksemplet?

Måske noget i den her stil:

echo "<ul>";
foreach($sider as $key => $value) {
   echo "<li>".$value['titel']."</li>;
}
echo "</ul>";



Følgende udskriver overskrift, dato og henter indholdet af filen:
foreach ($sider as $key => $value) {
echo "<h1>".$value['titel']."</h1>";
echo "<p>Opdateret: ".$value['dato']."</p>";
include($value['fil']);
}



--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fredgaard!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/?page=fredgaard

Anders Thorsen Holm (19-07-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 19-07-03 13:19

Anders Thorsen Holm wrote:

> echo "<ul>";
> foreach($sider as $key => $value) {
> echo "<li>".$value['titel']."</li>;
^^
Der mangler så lige gåseøjne her overnfor.

> }
> echo



--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fredgaard!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/?page=fredgaard

Anders Thorsen Holm (19-07-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 19-07-03 13:25

Anders Thorsen Holm wrote:

> Følgende udskriver overskrift, dato og henter indholdet af filen:

> foreach ($sider as $key => $value) {
> echo "<h1>".$value['titel']."</h1>";
> echo "<p>Opdateret: ".$value['dato']."</p>";
> include($value['fil']);
> }

Samtlige filer, vel at mærke... den pokkers varme!
Hmm... måske skulle man tage en lille pause fra usenet?

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fredgaard!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/?page=fredgaard

Bertel Lund Hansen (19-07-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 19-07-03 13:33

Anders Thorsen Holm skrev:

>Samtlige filer, vel at mærke... den pokkers varme!
>Hmm... måske skulle man tage en lille pause fra usenet?

Det er slet ikke noget problem med den slags detaljer. Det gør
heller ikke spor at jeg spildte 3 timer inden jeg fandt ud af at
der manglede semikoloner.

Det er fænomenalt at få så hurtig og præcis hjælp (ingen ironi).

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Jesper Brunholm (18-07-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 18-07-03 13:59

Bertel Lund Hansen wrote:

> Jesper Brunholm skrev:
>>Jeg bruger tit at lave arrays med siderne, hvor URLen er ID og resten af
>>sidens data fremgår af arrayet:
>
>
> Okay.
>
>
>>på siderne laver jeg så en foreach() løkke som gennemløber, sætter den
>>aktuelle side med dertil hørende formattering og sætter variablerne
>>$titel, $overskrift osv.
>
> Skal det forstås sådan (jeg er ikke vant til PHP endnu) at
> siderne faktisk er ens, og at det er URL'en der bestemmer hvilken
> side der bliver kaldt og også hvilke værdier de variable får?

Ja. Der er andre der har givet dig grundkonceptet: man laver en side og
lader så alle andre være variabler til den ene fil.

Jeg synes ikke det giver et pænt website, så jeg laver alle
enkelt-html-filerne og lader dem alle include samme fil - docmodel.inc
(eller lignende).

Denne indeholder arrayet som jeg nævnte før med hvilke filnavne som skal
have sat hvilken title osv, samt hvad der skal includes på siden når det
er præcis denne fil der er kaldt i URLen.

> Det fører så til et andet spørgsmål som nok skal besvares med et
> nej:
> Kan man lave et superdokument der kan tage mod alle URL'er til
> ens domæne og vise den ønskede side alligevel?

aehh - det er jeg ikke klar over - det må de hjælpe dig med ovre i
servergruppen, da det nok skal gøres med apaches mod_rewrite eller
tilsvarende. Det ville helt afgjort være en forenkling af mit koncept
hvor man skal hen og oprette en fil for hver URL, men alle filerne er
ens .

> Jeg har lavet noget foreløbigt som jeg allerede har sat i værk.
> Index.php ser f.eks. sådan ud:
>
> <?
> require("funktioner.php");
>
> $titel="Forside";
> $dato="15/6-2003";
> include("start.txt");
> include("index.txt");
> include("slut.txt");
> ?>
>
> Men da der er 27 sider, er der også 27 php-filer der ser næsten
> ens ud. Det var det jeg kunne tænke mig at folde ned i én fil -
> men det er vel umuligt?

tjah - jf. ovenstående: jeg tror faktisk det kan lade sig gøre, men jeg
er ikke sikker

mvh

Jesper Brunholm

--
Phønix - dansk folk-musik i front - <http://www.phonixfolk.dk/>
H.C. Andersen-Centret: <http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: <http://garion.dk/>


Jacob Atzen (18-07-2003)
Kommentar
Fra : Jacob Atzen


Dato : 18-07-03 17:48

Jesper Brunholm <nospam@brunholm-scharff.dk> writes:

> Ja. Der er andre der har givet dig grundkonceptet: man laver en side
> og lader så alle andre være variabler til den ene fil.
>
> Jeg synes ikke det giver et pænt website, så jeg laver alle
> enkelt-html-filerne og lader dem alle include samme fil - docmodel.inc
> (eller lignende).

Har du overvejet at kigge på mod_rewrite (under forudsætning af du
kører apache)?

--
Med venlig hilsen
- Jacob Atzen

Jesper Brunholm (19-07-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 19-07-03 09:43

Jacob Atzen wrote:

> Jesper Brunholm <nospam@brunholm-scharff.dk> writes:
>
>
>>Ja. Der er andre der har givet dig grundkonceptet: man laver en side
>>og lader så alle andre være variabler til den ene fil.
>>
>>Jeg synes ikke det giver et pænt website, så jeg laver alle
>>enkelt-html-filerne og lader dem alle include samme fil - docmodel.inc
>>(eller lignende).
>
>
> Har du overvejet at kigge på mod_rewrite (under forudsætning af du
> kører apache)?

Har du læst hele min post?

Jeg har skrevet et andet sted i den:
"""
aehh - det er jeg ikke klar over - det må de hjælpe dig med ovre i
servergruppen, da det nok skal gøres med apaches mod_rewrite eller
tilsvarende. Det ville helt afgjort være en forenkling af mit koncept
hvor man skal hen og oprette en fil for hver URL, men alle filerne er ens .
"""



Anyway: på mine store projekter har jeg ikke adgang til htaccess og
serveropsætning, hvilket har gjort at jeg hidtil har forkastet idéen;
også lidt fordi jeg egl synes jeg har nok fagligt stof uden at skulle
grave mig ned i apaches vidtspændende spektrum af muligheder. (Det er
heller ikke fordi det er noget kæmpearbejde at oprette filerne.)

Tak alligevel - det er så tumpet at oversé lette og gode løsninger.

mvh

Jesper Brunholm


Jacob Atzen (18-07-2003)
Kommentar
Fra : Jacob Atzen


Dato : 18-07-03 18:05

Bertel Lund Hansen <nospamfor@lundhansen.dk> writes:

> Nu vil jeg gerne trække alt det fælles ud i separate filer som jeg
> inkluderer. Det er i princippet nemt nok.
>
> Problemet er at titel og overskrift skal være forskellige. Hvordan løser jeg
> det smartest? Det vil være tilstrækkeligt med en principskitse. Jeg kan
> selvfølgelig godt lave at det fælles i separate filer og så lave filer for
> hver side med det der er specifikt, men jeg tænkte at det måske kunne gøres
> smartere.
>
> Det der er specifikt for siderne er titel og overskrift. I øjeblikket er det
> også sådan at menulinket til en side bliver til normal tekst når man står på
> den.

Jeg ville nok foreslå noget a'la følgende:

En index.php fil der læser en parameter fra url'en:
http://server.dk/index.php?page=hej

Selve index.php kan så gøre følgende:

<html>
<head>...</head><body>
<?php
include_once("fiduso.php");
include_once("forside.php");
include_once("hej.php");
switch($_GET["page"]) {
case "hej" : print_hej(); break;
case "fiduso" : print_fiduso(); break;
default : print_forside(); break;
}
?>
</body>
</html>

På den måde har du samlet al din logik et sted og skal bare lave en
enkelt funktion i dine andre php filer, der udskriver sidens indhold.

Alternativt kan du lave en fil headers.php der indeholder to
funktioner:

function get_header($title, $style) {
$output = <<<EOS
<html>
<head>...</head>
<body>
EOS;
}

function get_footer() {
$output = <<<EOS
</body>
</html>
EOS;
}

Og så inkludere denne på hver enkelt side du laver og kalde
funktionerne.

--
Med venlig hilsen
- Jacob Atzen

Bertel Lund Hansen (18-07-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 18-07-03 20:40

Jacob Atzen skrev:

>Jeg ville nok foreslå noget a'la følgende:

Tak til dig og alle de andre der har svaret. Det er rene guldkorn
jeg har fået, og der er mange ting jeg nu kan sætte mig ind i og
prøve af.

>En index.php fil der læser en parameter fra url'en:

Det er den måde der giver den enkleste kode, men den forhindrer
at man kan linke til undersiderne hvis jeg gætter rigtigt. Det er
smart hvis man vil spærre for det, men upraktisk hvis der skal
være fri adgang.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Mads Lie Jensen (18-07-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 18-07-03 21:42

On Fri, 18 Jul 2003 21:39:58 +0200, Bertel Lund Hansen
<nospamfor@lundhansen.dk> wrote:

>>En index.php fil der læser en parameter fra url'en:
>
>Det er den måde der giver den enkleste kode, men den forhindrer
>at man kan linke til undersiderne hvis jeg gætter rigtigt. Det er
>smart hvis man vil spærre for det, men upraktisk hvis der skal
>være fri adgang.

Der er da ingen problemer i at bookmarke en url incl evt. parametre:

http://gartneriet.dk/leksikon/vis_plante.php?id=15
og
http://gartneriet.dk/leksikon/vis_plante.php?id=18

viser to forskellige ting pga. id taget fra urlen.


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Bertel Lund Hansen (18-07-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 18-07-03 21:57

Mads Lie Jensen skrev:

>Der er da ingen problemer i at bookmarke en url incl evt. parametre:

Nåh nej ...

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Jesper Brunholm (19-07-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 19-07-03 09:38

Bertel Lund Hansen wrote:
> Jacob Atzen skrev:
>
>
>>Jeg ville nok foreslå noget a'la følgende:
>
>
> Tak til dig og alle de andre der har svaret. Det er rene guldkorn
> jeg har fået, og der er mange ting jeg nu kan sætte mig ind i og
> prøve af.

>>En index.php fil der læser en parameter fra url'en:

> Det er den måde der giver den enkleste kode

Tjah - som jeg foreslog kan du overveje servergruppen - jeg skrev ikke
mod_rewrite, men det ville gøre at du netop kan lave en fil, men have
"rigtige" URLer til siderne.

Se mere her:
<http://www.engelschall.com/pw/apache/rewriteguide/>

og i server-gruppen, det må vist være dk.edb.internet.software.apache
der er relevant her

mvh

Jesper Brunholm


Bertel Lund Hansen (19-07-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 19-07-03 10:26

Jesper Brunholm skrev:

>Se mere her:
><http://www.engelschall.com/pw/apache/rewriteguide/>

Ja, det vil jeg kikke på når det bliver min egen server der huser
mine domæner. Foreløbig ligger de ude i byen.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste