使用If/Else为PHP菜单导航


Using If/Else for PHP menu navigation

我正在寻找一些关于使用If/Else为我的菜单导航或链接到资源的反馈。我做了一些快速的搜索,发现了使用PHP来跟踪当前页面和应用特定的CSS而不是实现菜单本身的项目。

我要做的是让菜单根据菜单改变我的内容div。如果home被点击,div就变成home如果about被点击,div就变成about。

到目前为止,我所做的是创建一个变量'cl',我在每个div中使用id属性进行设置。在我的索引页中,我使用以下命令:
//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,它默认到主页,但不确定如果我的基本测试涉及到实际的安全性)。

第一次海报…如果我没有遵守礼仪,请告诉我,我很乐意纠正!

迈克

而不是一堆if/elseif的我宁愿使用switch/case语法:

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

如果您有很多条件,我会使用switch语句代替http://www.w3schools.com/php/php_switch.asp,因为它要快得多。如果你只有几个条件,比如少于5或6,If/else就可以了。