如果是index.php,则显示";这",;,如果不是,则显示“不”;这";

如果是index.php,则显示";这",;,如果不是,则显示“不”;这";,php,Php,非常希望有人能帮上忙。我是php的新手。我试着通过辅导自学,但我到处都找不到答案 基本上,我希望实现一个“If index.php页面,showfoo,如果不在index.php页面上,showbar” 有什么想法吗 我希望我解释得足够好 php包含一个侧栏: require_once('./cache/templates/sidebar.php'); 随后构建的每个页面都使用这个index.php文件中定义的内容,这意味着sidebar.php是必须的 我想编辑sidebar.php以包含一

非常希望有人能帮上忙。我是php的新手。我试着通过辅导自学,但我到处都找不到答案

基本上,我希望实现一个“If index.php页面,show
foo
,如果不在index.php页面上,show
bar

有什么想法吗

我希望我解释得足够好

php包含一个侧栏:

require_once('./cache/templates/sidebar.php');
随后构建的每个页面都使用这个index.php文件中定义的内容,这意味着sidebar.php是必须的

我想编辑sidebar.php以包含一个只显示在索引页上的广告

现在,当我编辑sidebar.php时,例如,为了显示字母“B”,它将显示在主页上,并且每隔一页都会显示一次,就像这样

索引页:

每隔一页:

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

如蒙协助,将不胜感激

[编辑]这是有问题的网站:www.grandoldteam.com。您可以看到我在哪里有文本“Test”-这是在sidebar.php中输入的。我希望这个文本(未来的广告)只在索引页上,而不是其他地方

[Edit 2]这是index.php文件中调用sidebar.php的点

<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');

。$page['subtitle']

' ); } if(isset($url[1])需要_一次('./cache/html/'.$url[0]./'.$url[1]..php'); 否则需要_once('./cache/html/'.$url[0]..php'); } } 需要一次('./cache/templates/sidebar.php'); } 需要_once('./cache/templates/footer.php');
这是我可以编辑sidebar.php以显示所需文本的but

<div class="clear"></div>
test
        </div>
<p>
    </div>

测试


要按您想要的方式进行操作,请使用superglobal。脚本的名称位于多个位置

if (strpos($_SERVER['SCRIPT_NAME'], 'index.php') !== false) // index page...
另一个选项是让index.php在包含侧栏之前设置一些变量,如$show\u ad,侧栏页面可以检查该变量。

试试这个

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

那就这样做吧

if ($_SESSION['valid']) {

//if the session is present, then show

}

else {

//if not,

}
这不仅是一种更好的方法,因为如果文件名发生更改会发生什么?这样做并不重要,因为它是针对会话进行检查的,而不是可能发生更改的内容:)

如何解决:

在顶部的sidebar.php中,添加以下行:

print_r($_SERVER);
这将显示$\u服务器变量的完整内容。从这一点上,您应该看到一些可以使用的候选项,以及在某些时候可能对您有用的其他内容

一旦决定使用什么,就需要检查它是否包含字符串
index.php
。这样做的一个好方法是使用:

if (strpos($_SERVER['SCRIPT_NAME'], 'index.php') !== false) {

}
此惯用行检查字符串index.php在脚本名称中的位置是否为false,也就是说,它是一个值。

测试该值

$_SERVER[ 'REQUEST_URI' ]
背道而驰

“/index.php”


如果是相同的。您正在执行index.php。

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

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

index.php:

<?php
  $GLOBALS['caller_page'] = 'index';
  require_once('./cache/templates/sidebar.php');
  ...

所有这些答案都很好,但我提供了一种不同的做法。不是更好,但我觉得更舒服

执行此操作时:

require_once('./cache/templates/sidebar.php');
在index.php上,改为执行以下操作:

require_once('./cache/templates/sidebar.php?ad=1');
现在,在sidebar.php上添加以下内容:

if(isset($_GET['ad'])&& $_GET['ad']=='1')
 // display ad

else
//don't display ad
编辑:

你想要工作代码,好吧

假设您的广告实际上是stackoverflow徽标的图像:

现在,在sidebar.php上,您将看到如下内容:

<?php
....


if(isset($_GET['ad'])&& $_GET['ad']=='1')
  {
 ?>
<div>
<a href="http://stackoverflow.com">
<img src="http://blog.vicompany.nl/wp-content/uploads/2011/04/stackoverflow-logo-250.png" alt="ad"/>
</a>
</div>
<?php

} 

else
{
}

....
?>


如果我理解正确,您可以在$\u SERVER['PHP\u SELF']=='index.PHP')这样做的情况下执行此操作,其他操作都可以。伪代码对新手来说,这个链接很有价值,你怎么知道该加载哪个页面?我怀疑您使用了某种$\u GET变量。你应该检查它是空的还是什么的。如果您提供详细信息,我们可以做更多。请使用
$\u SERVER['SCRIPT\u NAME']
。不要使用
\uuuuuuuuuuuuuuuuuuuuuu
。如果在sidebar.php文件中使用,
将返回sidebar脚本的文件名,而不是index.php。非常感谢您的帮助。对不起,我不明白第一种解决办法。如何设置$show_广告?if条件中缺少引号:)这似乎不起作用,尽管我可能做得不对?这就是index.php文件中调用sidebar.php的点

。$page['subtitle'.

”;}if(isset($url[1])需要一次('./cache/html/'.$url[0]./'.$url[1]..php');否则需要_once('./cache/html/'.$url[0]..php');}}require_once('./cache/templates/sidebar.php');}require_once('./cache/templates/footer.php');这是我可以编辑sidebar.php以显示所需文本的but;测试编辑你的答案,以便我能正确地看到它,巴德,我会尽力为你整理这个。谢谢-仍然没有乐趣!如果你有时间的话,如果你能用白痴指南的方式详细介绍一下,我将不胜感激carlv1@live.co.uk我会试着把它分类,巴德:)非常感谢。当我在侧边栏顶部输入该行时,它在页面加载时不可见?那么它是如何显示内容的呢?fingerman,它看起来很完美,也是我最容易理解的。但是,它显示了实际代码。你说“它显示了实际代码”是什么意思?您是否已安装并运行php?你用php标签包装了它吗?谢谢你的持续帮助。这些屏幕显示了文件编辑及其最终结果好的,“/”是一个注释符号-它不会做任何事情。。。你需要把广告的代码放在那里。。。是的,但是考虑到从
<?php
....


if(isset($_GET['ad'])&& $_GET['ad']=='1')
  {
 ?>
<div>
<a href="http://stackoverflow.com">
<img src="http://blog.vicompany.nl/wp-content/uploads/2011/04/stackoverflow-logo-250.png" alt="ad"/>
</a>
</div>
<?php

} 

else
{
}

....
?>