Ik ben bezig met een scriptje voor mijn site en ben er achtergekomen je een get-variable invult die niet bestaat niets verschijnt. Dt wil ik voorkomen. Ik heb gepuzzeld met
if (file_exists($_GET['page']))
include($_GET['page']);
<?php
//opgeven welke pagina's toegestaan zijn
$paginas = array("home","leden","downloads_fun","fotos","gastenboek","links");
//opgeven van een map en een extensie
$dir = 'includes/pagina/';
$ext = '.inc.php';
//opgeven van de "home" pagina
$home = 'includes/pagina/home.inc.php';
//controleren of er een pagina is meegegeven
if(isset($_GET['page']))
{
$pad = $dir.$_GET['page'].$ext;
//controleren of de pagina is toegestaan en bestaat
if(in_array($_GET['page'], $paginas) && file_exists($pad))
{
include"$pad";
}
else
{
echo'Deze pagina bestaat niet';
}
}
else
{
include"$home";
}
?>
() haakjes zijn voor functies, zoals include() en eigen gemaakte zoals bereken_aantal()
'' enkele quotejes zijn voor het echoen of in output zetten van een string.
"" dubbele quotejes zijn voor het gebruik in HTML
niets, zoals je dat zelf zegt is wat je gebruikt om het outputten van $vars.
dus bijvoorbeeld:
<?php
echo '<div id="test_ding">dit is een voorbeeld met '.$var.' als variabele hierin, dat kan ook een '.functie_zijn($var).' die iets terug geeft</div>';
erwin, bedankt. Ik heb zitten puzzelen en de rest van mijn script werkt nog :)
Weet iemand hoe ik
<?else
{
echo'Deze pagina bestaat niet';
}
?>
in erwins script kan vervangen door een header 404 redirect? Als ik een header location 404 instel, krijg ik een bericht 'header already sent by line 1... '