PHP if else请求URI帮助

时间:2009-07-21 15:00:11

标签: php syntax

我尝试过这样做,但后来却无法正常工作

 <?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,请查看其中所示的块我们的服务位于底部我不希望它显示在页面上,但对所有其他页面都可见....

9 个答案:

答案 0 :(得分:10)

始终缩进代码 - 查看错误更简单

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

请注意大括号的位置。

答案 1 :(得分:3)

或者您可以使用三元运算符。如果你愿意的话,所有人都在一条线上 - 我把它拆开以避开邪恶的滚动条。

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

答案 2 :(得分:2)

<?php

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

?>

答案 3 :(得分: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包含的值。

答案 4 :(得分:0)

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

你的语法有点不对。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

在更高级别,您是否考虑过将此方法更改为您想要的页面?您可以将代码中当前部分的部分放入一个单独的文件中,然后include放入您希望它出现的文件中。

答案 7 :(得分:0)

这里的问题是,在echo字符串中,你打开一个php标签,但那已经是php代码了,所以你不必打开那个标签。 如果您使用HTML代码,则必须使用一个。

答案 8 :(得分: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>';
 } ;

}