Abonneer je gratis op Techzine!

Het Script + Uitleg

Het Script

PHP Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
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:

PHP Code

1
2
3
if (!isset($_GET['p']) && empty($_GET['p'])){
	include 'main.php';
} elseif (isset($_GET['p']) && !empty($_GET['p'])){

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.

PHP Code

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 ;)

PHP Code

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.

Table of contents