|  | 		    
					
        
         
          
         
	
          | |  | 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 " · Jean Michel Jarre"; break;
        case "uni" : echo " · 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 (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
 | 
 |  |  |  |  | 
   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
 | 
 |  |  |  |  | 
 |  |