如果是index.php,则显示";这",;,如果不是,则显示“不”;这";
非常希望有人能帮上忙。我是php的新手。我试着通过辅导自学,但我到处都找不到答案 基本上,我希望实现一个“If index.php页面,show如果是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以包含一
foo
,如果不在index.php页面上,showbar
”
有什么想法吗
我希望我解释得足够好
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
{
}
....
?>