0

メニュー ナビゲーションまたはリソースへのリンクに If/Else を使用することについてのフィードバックを探しています。いくつかの簡単な検索を行ったところ、PHP を使用して現在のページを追跡し、メニュー自体を実装するのではなく特定の CSS を適用することに関連する項目が見つかりました。

私がやろうとしているのは、メニューに基づいてコンテンツ div をメニューに変更させることです。したがって、「home」をクリックすると div が home に変わり、「about」をクリックすると div が about に変わります。

これまでに行ったことは、各 div の id 属性を使用して設定する変数「cl」を作成することです。私のインデックスページでは、次のものを使用しています。

//if cl is not set include default content div
if(!isset($_GET['cl']))
{
     //include main div
}

//if cl is set, check value and include the correct div
//anything that does not match a hard-coded cl value --SHOULD-- default to main
//div...may change this to be a custom error page
if(isset($_GET['cl']))
{
    if($_GET['cl']=="content-main")
    {
        //include main content div
    }
    elseif($_GET['cl']=="content-anotherPage")
    {
        //include another page div
    }
    else
    {
        //include main content or possibly custom error
    }
}

他のメニュー項目用にさらに多くの elseif ブロックを投入しましたが、これは私が何をしているかを示すために小さく残しました。

この方法は有効なアプローチですか?知っておくべき、見逃している基本的なことはありますか? If/else ブロックは保護されていますか? (安全とは、URLの値を変更するとデフォルトのコンテンツdivに戻ることを意味します。基本的なjavascriptアラートスクリプトをURLに配置しようとしましたが、デフォルトでメインページになりましたが、私の基本的なテストが実際のセキュリティに関連しているかどうかはわかりません)。

初めてのポスター...エチケットに従っていない場合はお知らせください。喜んで修正します。

マイク

4

2 に答える 2

2

if/の束の代わりに、次の構文elseifを使用します。switch/case

switch( $_GET['cl'] ) {
    case "content-main":
       ...
       break;

    default:
       ...
       break;
}
于 2013-04-09T17:37:23.493 に答える
0

条件がたくさんある場合は、代わりに http://www.w3schools.com/php/php_switch.aspのswitchステートメントを使用します。5 未満または 6 未満など、いくつかの条件しかない場合は、if/else で問題ありません。

于 2013-04-09T17:38:42.133 に答える