首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果是index.php,则显示"this",如果不是,则显示"this“

如果是index.php,则显示"this",如果不是,则显示"this“
EN

Stack Overflow用户
提问于 2011-04-22 21:17:10
回答 6查看 16.3K关注 0票数 5

非常希望有人能帮上忙。我是php的新手。我试着通过教程自学,我到处寻找都无济于事。

基本上我正在寻求实现一个“如果index.php页面,显示foo,如果不在index.php页面上,显示bar

有什么想法吗?

我希望我能解释的足够好..。

index.php包含一个侧边栏:

代码语言:javascript
代码运行次数:0
运行
复制
require_once('./cache/templates/sidebar.php');

构建的每个后续页面都使用此index.php文件中定义的内容,这意味着sidebar.php是必须的。

我想编辑sidebar.php包含一个广告,这只显示在索引页面上。

目前,当我编辑sidebar.php时,例如,显示字母"B",它会显示在主页上,每隔一个页面就会这样显示;

索引页:http://img.photobucket.com/albums/v684/nilsatis/1stack.jpg

每隔一页:http://img.photobucket.com/albums/v684/nilsatis/2stack.jpg

如何指定包含文件的一个区域显示在一个页面上,而不显示在其他页面上?

任何帮助都将不胜感激。

编辑这是有问题的网站: www.grandoldteam.com。您可以看到我在哪里有文本"Test“-这是在sidebar.php中输入的。我希望这个文本(未来的广告)只在首页功能,没有其他地方。

编辑2这是在index.php文件中调用sidebar.php的位置;

代码语言:javascript
代码运行次数:0
运行
复制
<p class="page_desc">'.$PAGE['subtitle'].'</p>
' );
            }

            if (isset($url[1])) require_once('./cache/html/'.$url[0].'/'.$url[1].'.php');
            else require_once('./cache/html/'.$url[0].'.php');
        }
    }

    require_once('./cache/templates/sidebar.php');



}


require_once('./cache/templates/footer.php');

这是but,我可以在其中编辑sidebar.php来显示想要的文本;

代码语言:javascript
代码运行次数:0
运行
复制
<div class="clear"></div>
test
        </div>
<p>
    </div>
EN

回答 6

Stack Overflow用户

发布于 2011-04-22 21:24:06

要以您想要的方式完成此操作,请使用$_SERVER超级全局。脚本的名称出现在多个位置。

代码语言:javascript
代码运行次数:0
运行
复制
if (strpos($_SERVER['SCRIPT_NAME'], 'index.php') !== false) // index page...

另一种选择是在包含侧栏之前让index.php设置一些变量,比如$show_ad,并且侧栏页面可以检查该变量。

票数 11
EN

Stack Overflow用户

发布于 2011-04-22 21:34:30

我不建议检索调用者脚本的名称,因为多个页面可能在不同的文件夹中具有相同的名称,还因为您可能希望在将来更改页面名称。

使用一个全局变量或一个常量来说明哪个页是调用者。

index.php:

代码语言:javascript
代码运行次数:0
运行
复制
<?php
  $GLOBALS['caller_page'] = 'index';
  require_once('./cache/templates/sidebar.php');
  ...

sidebar.php:

代码语言:javascript
代码运行次数:0
运行
复制
<?php
  ... 
  if ( isset($GLOBALS['caller_page']) && ($GLOBALS['caller_page']=='index') ) {
    ... // special action for the index page 
  }
  ...
票数 2
EN

Stack Overflow用户

发布于 2011-04-22 21:24:22

试着这样做,

在您只想显示"foo“的页面上创建一个会话。

然后这样做

代码语言:javascript
代码运行次数:0
运行
复制
if ($_SESSION['valid']) {

//if the session is present, then show

}

else {

//if not,

}

这不仅是一种更好的方式,因为如果你的文件名改变了会发生什么?这样,它就不重要了,因为它是在检查会话,而不是可能发生更改的东西:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5755821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档