ik zit met het volgende. ik heb nu een pagina (index.php), hier wil ik elke keer bij de content een andere php pagina include met de juiste inhoud.
Dus als ik als get waarde contact hebt include deze pagina include.inc.php. Dit is geen probleem, maar nu zit ik met het volgende ik wil dit doen met 3 get waardes maar niet altijd hoeven alle waardes aanwezig te zijn. Ik dacht ik neem 3 standaard waardes en dan kijk ik elke keer welke waardes geven zijn. Maar nu weet ik niet hoe ik dit ook nog goed kan laten checken met mijn array's.

Dus ?page=home moet werken, maar ?page=produducten&subpage=stijfzuiger&subsubpage=typenummer moet ook werken.

Wat is al heb:

<?php
function sqlsafe($data) {
$data = mysql_real_escape_string($data);
return $data;
}

$array_page = array('home' => 'home', 'overons' => 'overons', 'produkten' => 'produkten', 'blog' => 'blog', 'contact' => 'contact');
$array_subpage = array('***' => '***', 'netwerk' => 'netwerk', 'vacatures' => 'vacatures', 'sharedhosting' => 'sharedhosting', 'domeinregistratie' => 'domeinregistratie');
$array_subsubpage = array('gratis' => 'gratis', 'advanced' => 'advanced', 'premium' => 'premium');

$safepage		= sqlsafe($_GET['page']);
$safesubpage 	= sqlsafe($_GET['subpage']);
$safesubsubpage = sqlsafe($_GET['subsubpage']);

echo $safepage;
echo $safesubpage;
echo $safesubsubpage;

if(!empty($safesubsubpage) && !empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."&subsubpage=".$safesubsubpage."";
}elseif(!empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."";
} elseif(!empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."";
} else {
echo "Default page";
}
?>

nu weet ik even niet hoe ik veder moet, misschien dat jullie mij zouden kunnen helpen.
mysql_real_escape_string pas over je data heen halen als je het in de database stopt.
Kijken of het een mag wat er geprobeerd wordt (../ mag bijvoorbeeld niet erin voorkomen).
Welke functie gebruik ik dan om te kijken of er leestekens of vreemde karakters voorkomen?
Je kan bijvoorbeeld een array maken van alle pagina's die benaderd mogen worden en dan met [php]in_array[/php] werken.
Oke, ik heb nu dus dit. kan dit beter of korten?

<?php
function string2url($string, $koppelteken = '-') {
    return trim(preg_replace("#[^\w".preg_quote($koppelteken, "#")."]#", "", str_replace(" ", $koppelteken, preg_replace("#\&([a-z]{1})([a-z]{1,})\;#", "\\1", htmlentities(strip_tags(strtolower($string)))))), $koppelteken);
}

$default_path = "home.inc.php";

$array_page = array('home' => 'home', 'overons' => 'overons', 'produkten' => 'produkten', 'blog' => 'blog', 'contact' => 'contact');
$array_subpage = array('****' => '***', 'netwerk' => 'netwerk', 'vacatures' => 'vacatures', 'sharedhosting' => 'sharedhosting', 'domeinregistratie' => 'domeinregistratie');
$array_subsubpage = array('gratis' => 'gratis', 'advanced' => 'advanced', 'premium' => 'premium');

$safepage		= string2url($_GET['page']);
$safesubpage 	= string2url($_GET['subpage']);
$safesubsubpage = string2url($_GET['subsubpage']);

echo $safepage;
echo $safesubpage;
echo $safesubsubpage;

if(!empty($safesubsubpage) && !empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."&subsubpage=".$safesubsubpage."";
	if (in_array($safepage , $array_page) && in_array($safesubpage , $array_subpage) && in_array($safesubsubpage , $array_subsubpage)) {
		$include_path =  $safepage."_".$safesubpage."_".$safesubsubpage.".inc.php";
	} else {
		$include_path =  $default_path;
	}
}elseif(!empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."";
	if (in_array($safepage , $array_page) && in_array($safesubpage , $array_subpage)) {
		$include_path =  $safepage."_".$safesubpage.".inc.php";
	} else {
		$include_path =  $default_path;
	}
} elseif(!empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."";
	if (in_array($safepage , $array_page)) {
		$include_path =  $safepage.".inc.php";
	} else {
		$include_path =  $default_path;
	}
} else {
echo "Default page";
$include_path =  $default_path;
}


function page_include() {
	if(file_exists("pages/".$include_path)) {
	include_once ("pages/".$include_path);
	} else {
	include_once ("pages/".$default_path);
	}
}
?>  

Reageren