0

関数でトラブルが発生しました。

実際、すべてのページを含めたいのですが、すべてのページがパラメーターのように名前が付けられているわけではありません$_GET['page']。たとえば、呼び出すindex.php?p=accueilとリダイレクトされますphp/home.php

私がそれを呼び出すと、他の例index.php?p=messageは透過的にリダイレクトされますmessage.php

すべての例外について、次のような配列を生成しました。

<?php    
$paramListepages = array(       
     'corbeille' => array(
         'libelle'     => 'corbeille',
         'page'        => 'php/trash.php'
     ),   
     'nouveaumessage' => array(
         'libelle'     => 'nouveaumessage',
         'page'        => 'php/envoyer.php'
     )  
);
?>

この配列には多くの sub_arrays が含まれています。これは最初の 2 つの配列からわかります。

ページを呼び出すために、次のような関数を実行しました。

function getPage($var) {
    if (!isset($var)){
        //Aucune page spécifiée => default page
        inlude('php/accueil.php');
    }
    elseif (array_key_exists($var,$paramListepages)){
        // page trouvée => on l'inclut!
        include ('php/accueil.php');
    }
    else{
        // page espectant la structure, non trouvée dans l'array => on l'inclut directement
        include('php/'.$var.'.php');    
    }
}

実際にはif条件とelseを認識しているようです。

しかし、配列にページを要求すると、空白のページがあり、期待される正しい値を読み取ることができないようです。

間違いやメッセージエラーのない白い空のページがあります。

私のUbuntuでは、error_reporting(E_ALL);

どんな種類の助けも大歓迎です

4

1 に答える 1

0

では、基本的にはこれで?

elseif (array_key_exists($var,$paramListepages)){
    include ($paramListepages[$var]['page']);
}
于 2012-11-19T16:18:14.030 に答える