1.
Per map dat ie er onder 'zit' ../ gebruiken
Dus als pagina.php in de map pagina zit en de map pagina in de map html. Dus html/pagina/pagina.php
Dat je in de map html een pagina wilt linken.
Doe je: ../desbetreffendepagina.php
kun je de hele tijd die array gaan updaten bij het toevoegen van een pagina, niet echt de efficientste oplossing kalle...
Klopt PHP-Newbie, maar je maakt ook de links ;) (die kan je evt ook automatisch uit je array halen als je dat wilt).
Dus:
<?
$paginas=array('pagina1.php','pagina2.php');
foreach($paginas as $linkje){
echo '<a href="'.$linkje.'">'.$linkje.'</a>';
}
?>
Genereerd je menu.. (kan je ook een 2e array gebruiken met namen voor de pagina's)
PHP Newbie, het is maar kijken wat efficienter is.. (een nieuwe case aanmaken, of 1 item toevoegen in je array... )
Zeker voor grote sites met veel pagina's is die oplossing veel korter, en ook net zo eenvoudig in je onderhoud. Het is maar net wat je wilt.
(even ter voorbeeld:
<?php
$toegestaan=array('pagina1','pagina2','pagina3','pagina4');
// controleren of er een pagina is meegegeven)
if (isset($_GET['pagina'])){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
// controleren of de pagina voorkomt in de array
if (in_array($pagina, $toegestaan)){
// wanneer die toegestaan is includen
include($pagina.".php");
}
}
?>
Zet diezelfde 5 pagina's eens in een switch/case module, en kijk dan nog eens wat gemakkelijker is. En als je toch bezig bent, voeg dan bij beide opties eens 1, of 2 paginás toe, en kijk welke gemakkelijker en korter is ;)