Hier was ergens zo'n pagina script die ik heel goed vond alleen vind ik hem niet meer hij had een pagina waarin je zelf kon instellen welke paginas toegelaten worden etc...
Zoiets
<?php
$toegestaan = array('pagina1','pagina2');
if (in_array($_GET['id'],$toegestaan))
{
include($_GET['id'].'.php');
}
else
{
include('standaard.php');
}
?>
Webmakerij schreef op 03.09.2006 22:06

<?php
//.....
else
{
include('standaard');
}
?>

Dan wel een extensie erachter.

include('standaard.php');
dankje:D

<?php
/*******************
***INSTELLINGEN*****
*******************/
$url = 'http://localhost/'; // Met '/' aan het eind!
$ext = '.php';
$home = 'home'; // Zonder .php of .html!
$error = 'error'; // Zonder .php of .html!

/*******************
***REST VAN SCRIPT**
*******************/
$page = $_GET['page'] . $ext;
$file = $url . $_GET['page'] . $ext;
if (isset($_GET['page'])) {
if (file_exists($file)) {
include ($page);
}
else {
include ($error . $ext);
}
}
else {
include ($home . $ext);
}
?>

JAAAAAAAAa!!!!!! DIE WAS HET:D:D:D:D:D
Sorry er zat een typefoutje in:D Dus kopieer hem eventje op nieuw anders krijg je een error!

SVP even melden als er fouten in zitten!
Ja, er zitten fouten in:

* Je controleerd niet of de $_GET bestaat
* $url wordt maar op 1 plek gebruikt, hier heb je dus geen exra variabele voor nodig
* Die $ext kun je ook wel weg laten, misschien wil ik wel home.php en error.html....
* file_exists() hoeft niet met volledige url, kan gewoon met het relatieve pad.

Mijn reactie daar op:

* Ik contoroleer de $_GET wel!:

if (isset($_GET['page'])) {

* Dat zijn de instellingen. Ik heb het zo makkelijk mogelijk gemaakt voor de gebruiker;)
* Als dat zo is, dan kun je dat zelf aan passen.
* Als er nou een flapdorl is die intypt: index.php?page=http://phphulp.nl/forum/showtopic, die bestaat, http://localhost/http://phphulp.nl/forum/showtopic bestaat niet. Dan krijg je dus een error. Als dat niet zo is, dan zou je hele layout door de war kunnen komen!
je controleert niet:

<?php
$page = $_GET['page'] . $ext;
$file = $url . $_GET['page'] . $ext;
?>

<?php
if(ereg('http://', $_GET['page']))
{
//geen externe urls!
?>

Reageren