2009-08-29 8 views
0

J'utilise ce code PHP:Dynamic Include Comment définir la page par défaut?

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

    $pages = array("home", "upload", "signup"); 

    if (in_array(strtolower($_GET['c']), $pages)) 
     include('pages/'.$_GET['c'].'.php'); 
    else echo "Page not found =("; 

} 

Comment dois-je faire pour sorte que la page par défaut sera home.php avec ce code?

Répondre

1

En supposant que vous voulez encore « Page introuvable » lorsque le visiteur spécifie une page non valide, vous pouvez le faire comme ceci:

if (isset($_GET['c'])) { 
    if (in_array(strtolower($_GET['c']), $pages)) 
     include('pages/'.$_GET['c'].'.php'); 
    else echo "Page not found =("; 
} else { 
    include('pages/home.php'); 
} 
1

Qu'en est-il quelque chose comme ceci:

$page = 'home'; 
if (isset($_GET['c'])) { 
    $pages = array("home", "upload", "signup"); 
    if (in_array(strtolower($_GET['c']), $pages)) { 
     $page = strtolower($_GET['c']) 
    } 
} 

include('pages/' . $page . '.php'); 

BTW: par "défaut" j'ai compris "si la page n'est pas trouvée, puis inclure par défaut un"


Aussi: si vous les noms de fichiers sont en minuscules , vous devez utiliser le nom minuscule lors de l'inclusion - vous utilisez déjà des minuscules pour la comparaison, alors pourquoi pas pour l'inclusion?

Si vous développez sur un environnement Windows, les noms de fichiers ne sont pas sensibles à la casse, mais ils sont sous Linux - et si vous déployez sur un serveur Linux ... Je vous laisse deviner ce qui pourrait arriver ;-)

Questions connexes