0

已经搜索了有关此问题的所有主题,但没有一个答案对我有帮助,所以我发布了一个新问题。

我有我的页面 index.php,其中包含 php,所有导航链接都在同一个 index.php 中打开。例如,当我单击关于我们时,它会打开 index.php?page=aboutus。

我的问题是我的主页上有一个 div:

<div class="icons_small"> 
<a href="#"><img src="images/layout/facebook_icon_s.png" width="75" height="67" /></a>
<a href="#"><img src="images/layout/twitter_icon_s.png" width="75" height="67" /></a>
<a href="#"><img src="images/layout/youtube_icon_s.png" width="75" height="67" /></a>
<a href="#"><img src="images/layout/location_icon_s.png" width="75" height="67" /></a>
</div>

对于这个 div,我希望他隐藏在 index.php 中,但我希望它在所有其他页面上可见,例如 index.php?page=aboutus、index.php?page=contact 等。

有什么简单的方法可以用 php 做到这一点吗?:)

提前谢谢。

4

3 回答 3

1

尝试这个。如果 GET 参数page未设置或没有值,它将隐藏 div。

<?php
if(isset($_GET['page']) && $_GET['page'] != "") {
?>
<div class="icons_small"> 
<a href="#"><img src="images/layout/facebook_icon_s.png" width="75" height="67" /></a>
<a href="#"><img src="images/layout/twitter_icon_s.png" width="75" height="67" /></a>
<a href="#"><img src="images/layout/youtube_icon_s.png" width="75" height="67" /></a>
<a href="#"><img src="images/layout/location_icon_s.png" width="75" height="67" /></a>
</div>
<?php
}
?>
于 2013-06-01T00:43:17.437 回答
0

这将取决于页面的包含方式。

如果我们使用 PHPecho来打印 HTML,我们可以简单地选择echo在 page 未设置时不打印该特定部分(即没有page=whatever)。

if(!isset($_GET['page'])
{
    echo 'The contents of the div that shouldn't be on the page';
}

如果由于某种原因您不能有选择地打印部分,一个混乱的替代方法是回显一些将删除 div 的 JavaScript。但是,这有一个关键缺陷,即 div 仍会为禁用 JavaScript 的用户显示。

于 2013-06-01T00:44:57.013 回答
0

这根本不安全。我知道这都是关于 4 张图片的,但从不良做法中学习可能对其他项目是致命的。

如果我写会发生什么"index.php?page=I_WANT_TO_SEE_THAT_BOX"

我的建议是,检查是否直接在包含功能中显示它。我假设你有类似的东西

function IncludeView() {
  $allowed_pages = array("view","friends","foo","bar");
  if(isset($_GET['page'])) {
    if(in_array($_GET['page'],$allowed_pages)) {
      include_once(PAGE_DIR."/".$_GET['page'].".php");  
      define("IS_PAGE_OKAY",true);
    }
  }
  else header(BASE_URL);
}
IncludeView();

稍后在您的模板中:

<?php if(defined("IS_PAGE_OKAY")) { ?>
   //your html code that is shown only on other pages than index.php
<?php } ?>
于 2013-06-01T01:00:52.577 回答