Het Script + Uitleg
Het Script
1 |
<? if (!isset($_GET['p']) && empty($_GET['p'])){ include 'main.php'; } elseif (isset($_GET['p']) && !empty($_GET['p'])){ $pagina_array = array('main', 'contact', 'faq', 'profiel'); if (in_array($_GET['p'], $pagina_array) && file_exists($_GET['p'].'.php')){ include $_GET['p'].'.php'; } else { echo 'De opgevraagde pagina kan niet gevonden worden, of je hebt geen toegang tot de pagina.'; } } ?> |
————————————–
Uitleg:
Nu zal ik ieder deel van het scriptje stuk voor stuk uitleggen:
1 |
Zo controlleer ik of er een waarde aan $_GET[‘p’] is meegegeven, dus de index.php?p= in de url. Als dit niet geval is, word main.php geinclude, als er wel een waarde is meegegeven, gaan we verder met het script.
1 |
$pagina_array = array('main', 'contact', 'faq', 'profiel'); |
In deze array staan de pagina’s die wél geopend mogen worden, let wel op dat je er geen extensie (.php / .html) achter zet! Aangezien er dan bestand.php.php word geprobeerd te includen, en dat bestand bestaat natuurlijk niet
1 |
if (in_array($_GET['p'], $pagina_array) && file_exists($_GET['p'].'.php')){ |
In het nederlands gezegd, betekent dit stukje gewoon het volgende:
Als waarde van $_GET[‘p’] in de array staat, en het bestand uit $_GET[‘p’] bestaat, dan verder gaan met script. Simpel gezegd word er dus gewoon gecontrolleerd of de pagina geinclude mag worden, en of het bestand ook daadwerkelijk bestaat.
Als het bestand aangeroepen mag worden, en ook bestaat, word het opgevraagde bestand geinclude, anders krijg je een leuke error message
In dit script, is main.php eigelijk je index pagina voor je content. Hierin kan dus de verwelkomming op de website staan, het laatste nieuws.
Als laatste, let er wel op dat je bij al je pagina’s die geinclude moeten worden, geen doctype, <html>, <head>, <title>, <body>, </html>, </head> hoeft te gebruiken, want het word namelijk geinclude!
Wat linkjes voor uitgebreide uitleg van de functies:
Array’s
in_array()
Include
file_exists()
Wij bedanken Markjuh voor het schrijven van deze tutorial.