所以我有这个非常奇怪的错误,我不知道它为什么会发生: 我有一个带有页眉和页脚的“index.php”,中间包含一个“Content.php”,它输出内容,具体取决于index.php所具有的Get参数:
if($_GET["site"]){
switch($_GET["site"]){
case 1:
break;
case 2:
if($_GET['horses']){
include_once("horses.php?horse=".$_GET['horses']);
} else{
include_once("horses.php");
}
break;
case 3: include_once("contact.php");
break;
case 4:
if($_GET['members']){
include_once("team.php?member=".$_GET['members']);
} else{
include_once("team.php");
}
break;
case 8: include_once("pressestimmen.php");
break;
default: include_once("home.php");
}
} else{
include_once("home.php");
}
在某些情况下(马匹和团队成员)会传递第二个Get-Parameter,该参数在相应的Content-file中处理。
这对马匹非常有效并且表现得如预期的那样,但出于某种原因,即使我复制了“team.php”中的代码(除了一些细节),当我传递Get参数时,根本没有显示任何内容。这本身并不会太令人惊讶,因为我可能在某处有一个错误,但即使我将team.php更改为:
<div class="margin-bottom-30">
</div>
<div class="tabs">
<ul class="nav nav-tabs">
</ul>
</div>
<div class='tab-content'>
</div>
当我调用“index.php?site = 4”时,它可以正常工作并显示空容器。但是当我调用“index.php?site = 4&amp; members = 1”时,内容完全是空的,我不明白这是怎么回事,因为html甚至不应该注意到get参数。
我试图解决这个问题好几个小时,我只是想不通Get-parameter如何影响team.php中的html代码
答案 0 :(得分:2)
尝试像这样更改你的案例4块;
case 4:
include_once("team.php");
break;
然后在team.php脚本中,尝试从$ _GET获取members
参数。
基本上,你在实现中所做的是告诉php寻找一个名为team.php?member=1
的文件,而不是寻找team.php
并传递member = 1参数。
由于磁盘上不存在文件team.php?member=1
(或team.php?member=2
,...),因此不会显示任何内容。
如果您需要有关页面上的错误,警告,...的详细信息(例如,为什么页面无法加载或php无法找到);在页面顶部添加这三行;
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
在这里查看更多信息; How do I get PHP errors to display?
答案 1 :(得分:1)
您不能包含此类文件
include_once("team.php?member=".$_GET['members']);
只需保留include_once("team.php");
,即可设置$_GET['members']
中的team.php
值。