PHP Dynamic title

Pagina: 1
Acties:
  • 290 views

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 369293

Topicstarter
Hallo,

Zoals de titel al zegt, hoe krijg je het voor elkaar om een dynamische titel (in je header) goed te laten werken in php?

Dit is wat ik nu heb:
Op elke pagina:

code:
1
2
3
4
5
<?php
$title = "Home page";

require_once("header.php");  
?>

in de header.php:
code:
1
<title><?php if(isset($title)) { print $title; } else { print "Default Title"; } ?></title>


Alles werkt nu, het enigste probleem is dat de title niet in de header staat boven aan de html pagina, maar ergens halverwege tussen alle div's.

Dit is de code die gebruik voor de pagina's in index.php:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
            $section = $_GET['section'];
            $page = $_GET['p'];
            if ($page)
            {
                
                if (
                !strpos($page,".")
                )
                {
                
              //check for section
                if (!$section);
                    $section = "inc";
                
                $path = $section."/".$page.".php";
                
                if (file_exists($path))
                {
                    include($path);
                }
                else
                {
                    echo "Sorry, that page doesn't exist!";
                }
                
                }
                else 
                    echo "Not allowed!";
                
            }
            else
            {
                include('inc/home.php');
            }
            ?>

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Zorg dat je alles al weet voordat je aan je output begint.

Overigens klopt je 'beveiling' in regel 8 niet: een aanvaller kan nu ieder willekeurig php bestand openen, mits hij het pad maar met een '.' laat beginnen.

{signature}


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 11-07 15:36
Dit is vrij recent hier nog besproken: [PHP] Titels in HTML

Een snelle 'hack' manier is om output buffering te gebruiken. De wat nettere manier is om eerst je model code te doorlopen (ergo, zorgen dat je al bepaald hebt wat de titel is van een pagina etc voor je begint met echo'en) en daarna pas output weer te geven in een template, waarbij een templatehandler kan helpen dit goed af te dwingen.

[ Voor 13% gewijzigd door FragFrog op 15-11-2010 19:38 ]

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 17:04

NMe

Quia Ego Sic Dico.

Dit is inderdaad wel redelijk dubbel met het topic dat FragFrog aanhaalt, we hebben exact deze discussie een paar dagen geleden nog gevoerd. Hoewel je code niet exact hetzelfde is heb je wel exact dezelfde problemen en zouden wij exact dezelfde oplossingen aandragen. Ik stel dus voor dat je dat topic even doorneemt en verdere vragen maar even daar stelt om het centraal te houden. :)

[ Voor 3% gewijzigd door NMe op 15-11-2010 22:10 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.