2009-07-21 57 views
0

我试图这样做,但那么它是不工作PHP的if else请求URI帮助

<?php 

if ($_SERVER['SERVER_NAME']=='http://www.testground.idghosting.com/idi' && $_SERVER['REQUEST_URI'] == 'our-production/') { 

     echo '<div id="services"> 
<h1>Our services</h1> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_productions" title="Our Productions"><span>Our Productions</span></a> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_services" title="Production Services"><span>Production Services</span></a> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_equipment" title="Equipment &amp; Facilities"><span>Equipment &amp; Facilities</span></a> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_pr" title="PR &amp; Media"><span>PR &amp; Media</span></a> 

</div>'; 
    } else { 
     echo '<div> do not show</div>'; 
    } ; 
?> 

看样品click here看到它说,我们的服务在底部块,我不希望它是部份网页上显示,但可见于所有其他网页....

+0

,我为什么会问,你试试这个?有没有人在这里建议呢?你完全改变了你的答案,那根本不好。 – SilentGhost 2009-07-21 16:35:03

+0

我已经尝试了所有建议的答案,它没有工作.....我没有改变任何东西,我只是在这里应用其中一个建议,并要求程序员谁比我更有经验..... – 2009-07-21 16:53:54

回答

10

总是缩进代码 - 这是simplier看到错误

<?php 
    if ($url == "http://www.sample.com/test.php") { 
     echo "<div>whatever</div>"; 
    } else { 
     echo "<div> do not show</div>"; 
    }; 
?> 

注意大括号的位置。

+5

+1为保持代码缩进的建议 – Strae 2009-07-21 15:06:56

0
<?php 
    if($url == "http://www.sample.com/test.php") 
    { 
     echo "<div>whatever</div>"; 
    } 
    else 
    { 
     echo "<div> do not show</div>"; 
    } 
?> 

你的语法有点不对。

2
<?php 

if ($_SERVER['SERVER_NAME']=='www.sample.com' && $_SERVER['REQUEST_URI'] == '/test.php') { 
    echo 'blah'; 
} else { 
    echo 'asdf'; 
} 

?> 
3

或者你可以使用三元运算符。如果你喜欢,所有这一切 - 我分手了,以避免邪恶的滚动条。

echo ($url == "http://www.sample.com/test.php") 
     ? "<div>Whatever</div>" 
     : ""; 
0

目前似乎没有直接的方法。您需要做的是通过组合$_SERVER阵列中的条目来重建URL。您可以检查phpinfo()的结果以查看您需要的条目。

0

从更高的层面来看,您是否考虑过改变您的方法将其放到您想要的页面上?您可以将代码的部分放在您的代码的一部分中,并放入一个单独的文件中,然后将其放入您希望显示的文件中。

2

您正在使用错误的值。

// REQUEST_URI is the requested URI path plus the requested URI query, so let’s strip the latter 
$_SERVER['REQUEST_URI_PATH'] = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']); 
// HTTP_HOST may not be set if the request didn’t contain the Host header field (just HTTP/1.0) 
if (isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST']=='www.testground.idghosting.com' && $_SERVER['REQUEST_URI_PATH'] == '/idi/our-production/') { 
    // host is "www.testground.idghosting.com" and requested URI path is "/idi/our-production/" 
} 

请参阅手册,了解$_SERVER包含的值。

0

这里的问题是,在回声字符串中,你打开一个PHP标记,但这已经是PHP代码,所以你不必打开该标记。 如果您使用的是HTML代码,则必须使用一个。

0

试试这个,它是为我工作...

$data['test']=basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']); 

if($data['test'] == 'our-production') 
{ 
echo '<div id="services"> 
<h1>Our services</h1> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_productions" title="Our Productions"><span>Our Productions</span></a> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_services" title="Production Services"><span>Production Services</span></a> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_equipment" title="Equipment &amp; Facilities"><span>Equipment &amp; Facilities</span></a> 
<a href="<?php bloginfo(\'url\'); ?>" id="serv_pr" title="PR &amp; Media"><span>PR &amp; Media</span></a> 

</div>'; 
} else { 
echo '<div> do not show</div>'; 
} ; 

}