-1

好吧,Following 是选择当前页面名称的功能。例如:index.php、owner.php、contactus.php 等。我创建了这个函数是因为我需要激活一个 css id(#active) 选择器来突出显示当前页面。

功能

function curPageName() {
return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
$pagename = curPageName();

这是我的导航代码:

<ul>
<li><a href="index.php" <?php if($pagename == "index.php") echo "id='active'"; 
?>>HOME</a></li>
<li><a href="owner.php" <?php if($pagename == "owner.php") echo "id='active'"; ?>>LIST 
YOUR PROPERTY</a></li>                        
<?php
$menu = mysql_query("SELECT * FROM page where status = 1");

while($re = mysql_fetch_array($menu))
{
$pageid = $re['pageid'];
$pagelink = $re['pagelink'];
$pagename = strtoupper($re['pagename']);
$pagedes =  $re['pagedes'];                     

echo "<li><a href='page.php?pageid=$pageid'>$pagename</a></li>";
}
?>                      

<li><a href="contactus.php" <?php if($pagename == "contactus.php") echo "id='active'"; 
?>>CONTACT US</a></li>
</ul>

所以,我的问题是它对 Index.php 和 owner.php 的 css id 选择器处于活动状态。但是它没有激活css选择器到contactus.php页面。

我的代码有什么问题吗?

4

1 回答 1

2

你已经覆盖$pagenamewhile loop

while($re = mysql_fetch_array($menu))
{
$pageid = $re['pageid'];
$pagelink = $re['pagelink'];
$pagename = strtoupper($re['pagename']);

^^^^^ overwritten variable value change this variable name

$pagedes =  $re['pagedes'];                     

echo "<li><a href='page.php?pageid=$pageid'>$pagename</a></li>";
}

-------------------------------------vvvvvvvvv- this will be last value of while loop
<li><a href="contactus.php" <?php if($pagename == "contactus.php") echo "id='active'"; 
?>>CONTACT US</a></li>
于 2012-11-12T16:07:43.683 回答