这是我选择菜单的PHP代码。 它处理错误,请帮助我。
CODE
<?php
$page_url = array();
$page_url[0]= "/bookslibrary.net/index.php";
$page_url[1]= "/bookslibrary.net/about.php";
$page_url[2]= "#";
$page_url[3]= "/bookslibrary.net/become-member.php";
$page_url[4]= "#";
$page_url[5]= "/bookslibrary.net/contact.php";
$page_urlActive = array();
$css_active = "class='active'";
switch ($_SERVER['PHP_SELF'])
{
case $page_url[0]: $page_urlActive[0] = $css_active; break;
case $page_url[1]: $page_urlActive[1] = $css_active; break;
case $page_url[2]: $page_urlActive[2] = $css_active; break;
case $page_url[3]: $page_urlActive[3] = $css_active; break;
case $page_url[4]: $page_urlActive[4] = $css_active; break;
case $page_url[5]: $page_urlActive[5] = $css_active; break;
} echo ("
<li $page_urlActive[0] ><a href='".$page_url[0]."'>Home</a></li>
<li $page_urlActive[1] ><a href='".$page_url[1]."'>About</a></li>
<li $page_urlActive[2] ><a href='".$page_url[2]."'>Books of the Month</a></li>
<li $page_urlActive[3] ><a href='".$page_url[3]."'>Become a Member</a></li>
<li $page_urlActive[4] ><a href='".$page_url[4]."'>Ahlus-Sunnah</a>
<ul>
<li><a href='#'>Web Directory</a></li>
<li><a href='#'>Add Your Website</a></li>
</ul>
</li>
<li $page_urlActive[5] ><a href='".$page_url[5]."'>Contact</a></li>
");
?>
错误
注意:未定义的偏移量:第34行(... FILE_PATH ...)header.php中的1
答案 0 :(得分:0)
问题是$page_urlActive
的特定索引(0-5)可能无法设置,具体取决于活动页面。
更好的方法是重构代码以遍历$page_url
数组。如果当前$page_url
等于请求的页面,则在循环测试中。如果是,请输出相应的class
属性。这会删除大量不必要的代码(例如switch
,$page_urlActive
)。
虽然我提倡干净的代码,但在一天结束时,这只是通知,而不是硬错误。
答案 1 :(得分:0)
您的$page_urlActive
只包含一个项目,其中一个项目取决于您所在的页面。并且您正在尝试回显所有索引的元素,您可以通过初始化数组和所有索引来消除此通知:
$page_urlActive = array_fill(0, 6, '');