我正在尝试指定我的徽标出现在某些页面而不是其他页面上,我不希望它显示的唯一页面是主页和/index.php。我有大徽标出现并消失,因为我想要它,所以我认为我可以做相反的小徽标,但我一定做错了。这是我目前的代码:
<?php
$dunpage = $_SERVER['REQUEST_URI']; if ($dunpage != '/index.php' || $dunpage != '/') {?>
<h1 class="small-logo">
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>
<?php }
?>
<?php
$currentpage = $_SERVER['REQUEST_URI']; if ($currentpage == '/' || $currentpage == '/index.php') {?>
<h1 class="logo";>
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>
<?php }
?>
答案 0 :(得分:3)
您应该使用逻辑AND:
而不是第一个条件中的逻辑OR$dunpage = $_SERVER['REQUEST_URI']; if ($dunpage != '/index.php' || $dunpage != '/') {?>
// Should be
$dunpage = $_SERVER['REQUEST_URI']; if ($dunpage != '/index.php' && $dunpage != '/') {?>
实际上,您说“如果网页不是index.php
,或者不是/
,则会采取行动。”所以在这两种情况中,情况恰恰相反。如果不是index.php
,则可能是/
,例如。
答案 1 :(得分:2)
试
if ($dunpage != '/index.php' && $dunpage != '/') {
为您的小徽标。
答案 2 :(得分:2)
你正确地否定了==运算符,而不是||运营商。你说如果dunpage不是/index.php或dunpage不是/,那就这样做,这基本上意味着总是这样做。改变||和&amp;&amp;小徽标。
答案 3 :(得分:1)
为什么不使用别人?
<?php
$currentpage = $_SERVER['REQUEST_URI']; if ($currentpage == '/' || $currentpage == '/index.php') { ?>
<h1 class="logo";>
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>
<?php
} else {
?>
<h1 class="small-logo">
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>
<?php
}
?>
(你实际上没有提到它要么是要显示的大型或小型徽标,但我必须假设这是这种情况。)
或者你可以在这种情况下使用in_array()。
<?php
$displayMainLogo = array('/', '/index.php');
if ( in_array($_SERVER['REQUEST_URI'], $displayMainLogo) ) { ?>
<h1 class="logo";>
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>
<?php
} else {
?>
<h1 class="small-logo">
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>
<?php
}
?>
如果您了解如何进行三元组(http://php.net/manual/en/language.operators.comparison.php),那么这就像您可以做到的那样简洁。
<h1 class="<?php echo (in_array($_SERVER['REQUEST_URI'], $displayMainLogo)) ? 'logo' : 'small-logo' ?>";>
<a href="/" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></a>
</h1>