Volg de onderstaande video om te zien hoe je onze site als web-app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
<html>
<head>
<title> je paginatitel</title>
</head>
<body>
<div id="header">
<h1>Mijn Webpage</h1>
</div>
<div id="menu">
<ul>
<li><a href="index.php">index</a></li>
<li><a href="index.php?p=page1">pagina 1</a></li>
<li><a href="index.php?p=page2">pagina 2</a></li>
</ul>
</div>
<div id="inhoud">
[COLOR=DarkOrange]Je eigenlijke inhoud van de pagina staat hier![/COLOR]
</div>
<div id="footer">
Met dank aan de tutorial door NeoN over includes
</div>
</body>
</html>

<?
if ($_GET['p'] == "page1") {
include ("page1.php");
} else if ($_GET['p'] == "page2") {
include ("page2.php");
} else {
include ("home.php");
}
?>
Je eigenlijke inhoud van de pagina staat hier!
<?
include ("header.php");
?>
Je eigenlijke inhoud van de pagina staat hier!
<?
include ("footer.php");
?>

switch ($_GET['p') {
case "page1":
include ("page1.php");
break;
case "page2":
include ("page1.php");
break;
default:
include ("home.php");
break;
}
DarkBone zei:Gebruik toch beter een switch NeoNeke, een andere methode is om alle toegelaten waarden in een array te steken en dan mbv in_array() te controleren.

Moet je ook mee oppassen, als je er bv een config.inc bestandje geinclude wordt ga je ook niet blij zijnru`orez zei:of met een if file_exists werken, zo doe ik het meestal![]()

if (!empty($_GET['pagina'])) {
$file = $_GET['pagina'].".php";
if (file_exists($file)) {
include($file);
} else {
include("default.php");
}
} else {
include("default.php");
}

NeoNeke zei:oké hierover vind je normaal duizenden tut's maar hier komt er dan maar nog één...
Je maakt de generall layout van je webpagina eerst en ziet er bijvoorbeeld als volgt uit.
Code:<html> <head> <title> je paginatitel</title> </head> <body> <div id="header"> <h1>Mijn Webpage</h1> </div> <div id="menu"> <ul> <li><a href="index.php">index</a></li> <li><a href="index.php?p=page1">pagina 1</a></li> <li><a href="index.php?p=page2">pagina 2</a></li> </ul> </div> <div id="inhoud"> [COLOR=DarkOrange]Je eigenlijke inhoud van de pagina staat hier![/COLOR] </div> <div id="footer"> Met dank aan de tutorial door NeoN over includes </div> </body> </html>
Zoiets dus
Merk op dat de links al gemaakt zijn van het type index.php?p=page1. Dit is een manier om een variabele (die dan opgeroepen kan worden in php) mee te geven in de link.
Aangezien alles wat niet oranje is in feite op iedere pagina hetzelfde moet zijn (wil men consitentie bewaren) moet eigenlijk enkel dat stuk iedere keer herschreven worden. Via php gaat dit makkelijk en wel als volgt!
Plaats volgende code in de plaats van de oranje tekst en sla dan dat bestand op als index.php de uitleg van de code volgt
PHP:<? if ($_GET['p'] == "page1") { include ("page1.php"); } else if ($_GET['p'] == "page2") { include ("page2.php"); } else { include ("home.php"); } ?>
Oké, wat hebben we nu gedaan?
We roepen de variabele p (van page) op via $_GET['p'] checken of die gelijk is aan iets wat we in onze links gestate hebben (namelijk page1 of page2) indien dit zo is includeren we die pagina!
Als er geen enkele statement correct is, moet de hoofdpagina opgeroepen worden... (dit is ook een soort van back up mocht iemand in de url bijvoorbeeld index.php?p=blabla tikken, dan komt hij ook terecht op de hoofdpagina, die we vinden in home.php.
Het spreekt dus voor zich dat je dan nog drie files moet maken (home.php, page1.php en page2.php) waarin respectievelijk hun data staat.
home.php ziet er dus zo uit: (rekening houdend met eerste voorbeeld
Code:Je eigenlijke inhoud van de pagina staat hier!
Zo hoef je enkel je pagina's inhoud te stoppen in die files. Een andere file (index.php) gebruik je om de markup language van de rest van de pagina bij te houden. En dan nog een file css file om de design vast te leggen. Zo scheid je op de ideale manier inhoud van design, waar we de dag vandaag naar streven!
OPMERKING
er bestaat ook een omgeerd systeem waarin je de opmaak in aparte files steekt en die iedere maal include in je data-pagina's dit gaat als volgt:
PHP:<? include ("header.php"); ?> Je eigenlijke inhoud van de pagina staat hier! <? include ("footer.php"); ?>
waar header.php dus alle data is boven het oranje en footer.php alle data is beneden het oranje! Links kan je dan makkelijker namen geven en kan je gewoon linken naar bv page1.php die net hetzelfde eruit ziet als hierboven. Ikzelf ben verstokt gebruiker van dit systeem! Beide systemen zijn in feite even goed/slecht
Ik snap het <?
if ($_GET['pagina'] == "msn") {
// hier je html ed.
}
elseif ($_GET['pagina'] == "portfolio") {
// hier je html ed.
}
elseif ($_GET['pagina'] == "contact") {
// hier je html ed.
}
else {
// hier je beginpagina
}
?>
Fr3aK zei:Zo doe ik het altijd, dan moet je wel zien dat je de bestanden in je main map hebt staan...PHP:if (!empty($_GET['pagina'])) { $file = $_GET['pagina'].".php"; if (file_exists($file)) { include($file); } else { include("default.php"); } } else { include("default.php"); }
PS: mogelijke fouten worden veroorzaakt door zatheid, ben juist thuis en ben zowa een ontbijt aant maken![]()
Hoe bedoelt ge da ge daar ne config.php mee kunt opslaan?killgore zei:kan nog altijd een config.php mee worden opgeslaan (als je config.inc gebruikt en config is een scripted (php) file ben je al compleet achterlijk imho).
nee, maar proper is het niet, het beste is dat ze enkel de paginas kunnen includen die toegestaan zijn.Fr3aK zei:Hoe bedoelt ge da ge daar ne config.php mee kunt opslaan?
Ge kunt de config dan includen als ge een beetje wilt "hacken" maar ver geraakte daar ni mee ze.
BTW: Ne switch is te omslachtig imo, als ge een nieuwe pagina wilt bijvoegen moet ge die switch telkens aanvullen...
).