[howto] php include

[b:84d9e151a2][howto] php include[/b:84d9e151a2]

Wel handig voor navigatie systemen en andere onderdelen van een site die op meerdere pagina’s terugkomen :).
[b:84d9e151a2]LET OP:[/b:84d9e151a2] je server moet wel php ondersteunen.
Het is heel simpel :smiley: en je hoeft er geen PHP voor te kennen, je hoeft alleen maar wat code te kopiëren :P:

In je index.php zet je dit:

[code:1:84d9e151a2]<?php include("header.php"); ?>

<h1>Hier kan gewoon tekst</h1>
<p>Hier kan gewoon tekst</p>

<?php include("footer.php"); ?>[/code:1:84d9e151a2]

Je roept daarmee dus header.php en footer.php op.

In header.php staat bijvoorbeeld het volgende (gewoon het begin van een XHTML pagina is dit):

[code:1:84d9e151a2]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Wouter Postma</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" title="Stylesheet" />
</head>

&lt;body&gt;[/code:1:84d9e151a2]

En in footer.php bijvoorbeeld het volgende (gewoon het einde van een XHTML pagina ;)):

[code:1:84d9e151a2]</body>
</html>[/code:1:84d9e151a2]

Dat betekent dat er in het index.php bestand nu eigenlijk dit staat, maar dan veel korter ;):

[code:1:84d9e151a2]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Wouter Postma</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="backsoon/style.css" title="Stylesheet" />
</head>

&lt;body&gt;
	&lt;h1&gt;Hier kan gewoon tekst&lt;/h1&gt;
	&lt;p&gt;Hier kan gewoon tekst&lt;/p&gt;
&lt;/body&gt;

</html>[/code:1:84d9e151a2]
Dit hierboven is ook wat je ziet als je de broncode van de pagina bekijkt. Maar voor jezelf is het heel handig, als je nu in header.php of footer.php iets verandert, dan verandert dat meteen op alle pagina’s die het includen :).

Je bent nu klaar. In de header en footer bestanden kun je zetten wat je wilt natuurlijk.

Misschien handig om hier een sticky van te maken maar ja, kijk maar ;). Ik ben nu weg van de Mac dus k kijk vanmiddag wel naar de reacties :slight_smile: (weet ik meteen of jullie er iets aan hebben, dit is nl. mijn eerste howto :wink: dus als ie niet goed is doe hem maar op slot).

Groeten,
Wouter

Bedankt! Dit is iets waar ik al lang naar zocht (in duidelijke taal), en nu heb ik in ieder geval een goed begin.

Bedankt, maar je kan toch ook require gebruiken? Of is dit beter?

volgens mij is dit het beste, k weet eigenlijk het verschil tussen require en include niet.. maar deze wordt volgens mij toegepast bij dit soort doeleinden ;)

Include is beter, want require kan een fatal error geven als er een fout zit in hetgeen dat je required. Dat kan ervoor zorgen dat heel de pagina niet kan weergegeven worden. Voor bevoorbeeld een configuratie file is dat wel goed, maar als het voor een interface is is het (volgens mij) het beste om include te gebruiken. Maar kan je bevoorbeeld meedere headers in 1 file steken? Bv een header voor ingelogde mensen waar dan staat "welkom op [insert site here] [insert nickname here]" ipv "welkom op [insert site here]" ?

het bestand dat je include hoeft geen php te zijn, kan ook html zijn.. :)

heeeeel handig :slight_smile:

voor inlezen van klasses etc, gebruiken wij altijd require_once

[quote:61f34d3599]
require_once() should be used in cases where the same file might be included and evaluated more than once during a particular execution of a script, and you want to be sure that it is included exactly once to avoid problems with function redefinitions, variable value reassignments, etc.
[/quote:61f34d3599]

ik gebruik altijd require, maar ik vind het niet echt nuttig omdat ik het al wist. En omdat er eigenlijk wel genoeg tut's over dit soort dingen zijn op internet. Of er meot een sticky gemaakt worden die linkt nara tut's bijvoorbeeld:

[list:5ee190cfbb][:5ee190cfbb]Include & Require
[
:5ee190cfbb]MYSQL en PHP installeren
[:5ee190cfbb]Maak je eigen gastenboek
[
:5ee190cfbb]MySQL: Delete, Update, Set etc.[/list:u:5ee190cfbb]

En als dit sticky wordt gezet dan staan er volgende maand 30 stickys

[quote:52cd535a19="HS-L"]het bestand dat je include hoeft geen php te zijn, kan ook html zijn.. :)

heeeeel handig :)[/quote:52cd535a19]
oh, dat wist ik niet :slight_smile: maar ik gebruik in ieder geval altijd php :slight_smile: (offtopic: gefeliciteerd ;))

Zoiets pas ik zelf ook toe inderdaad. Alleen heb ik alles in 1 php file staan ingedeeld in functies. Ik heb dan bijvoorbeeld; [code:1:2d8466b27a]function start_html() { //blabla }

function end_html() {
//blabla
}[/code:1:2d8466b27a]
In die php zitten dan ook functies om bijvoorbeeld het type browser van de gebruiker te detecteren of de taalinstelling van de browser te achterhalen. In dat geval heb je dus 1 php file met meerdere functies i.p.v. meerdere php files met daarin telkens 1 functie.
Tja… 't is maar net wat je prettigste vind.