使用If / Else进行PHP菜单导航

时间:2013-04-09 17:34:53

标签: php html 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并且它默认为主页面,但不确定我的基本测试是否与实际安全性有关)。

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

麦克

2 个答案:

答案 0 :(得分:2)

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

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

    default:
       ...
       break;
}

答案 1 :(得分:0)

如果您有很多条件,我会使用switch语句而不是http://www.w3schools.com/php/php_switch.asp,因为它要快得多。如果您只有少于5或6的条件,if / else就可以了。