我正在寻找关于使用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并且它默认为主页面,但不确定我的基本测试是否与实际安全性有关)。
第一次发布海报...如果我没有遵守礼仪,请告诉我,我很乐意纠正!
麦克
答案 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就可以了。