【发布时间】:2012-06-28 23:21:28
【问题描述】:
所以我的页面在页面的不同部分有很多包含调用。其中大多数包括具有某种获取任何 $_GET 变量的函数。所有这些都可以正常工作,除了我的导航文件在我尝试获取任何 GET 变量时不返回任何内容。
导航.php
<? require_once("config.php"); require_once("functions.php"); ?>
<div id="nav">
<ul>
<? initializeMainNav( $_GET['page'] ); ?>
</ul>
</div>
function.php 内部
function initializeMainNav( $curPage )
{
// array ( slug, name ) of navigation items
$nav = array(
array( "", "Home" ),
array( "case_studies", "Investment Case Studies" ),
array( "current_inv", "Current Investments" ),
array( "about", "About MDIG" ),
array( "management", "Management" ),
array( "news", "News" ),
array( "services", "Services" ) );
// Print out each nav item, and highlight the current page nav item
for( $i = 0; $i < count( $nav ); $i++ ) {
echo " <li><a ";
if( $nav[$i][0] == $curPage )
echo "class=\"active\" ";
echo " href=\"?page=" . $nav[$i][0] . "\">" . $nav[$i][1] . "</a></li> ";
}
}
$_GET['page'] 总是返回空,即使它适用于页面的所有其他部分。你们看到我做错了什么吗?
编辑:
index.php 其中HEADER 是一个定义路径的常量变量,位于config.php
<? require_once("config.php"); require_once("functions.php"); ?>
<? include(HEADER); ?>
<body>
<div id="wrapper">
<div id="logo">
<a href="<? echo DOMAIN; ?>"><img src="<? echo IMAGES; ?>/logo.png" alt="<? echo COMPANY; ?>"></a>
</div>
<div class="clear"></div>
<? include(NAV); ?>
<div id="content_wrapper">
<!-- Find and display appropriate page -->
<? displayPage( $_GET['page'] ); ?>
</div>
<div class="clear"></div>
<? include(FOOTER); ?>
</div>
</body>
</html>
【问题讨论】:
-
如果你的
$_GET['page']为空,我认为当你将这个变量传递给脚本时会有问题。 -
@MarcioSimao 是对的。当我将“page”作为 GET 参数传递时,您的代码对我有用。
-
我意识到你可以传入一个变量,但我的问题是 $_GET['page'] 没有返回任何东西。它适用于同一页面上包含的不同 php 文件,所以我只是不明白为什么它不适用于此文件
-
为什么要计算一个你已经知道大小的数组..?
-
那么您是说您的导航正确回显,除了“主页”始终处于活动状态?
标签: php variables get constants