【问题标题】:PHP - If URL has this in it, do not show divPHP - 如果 URL 中有这个,不要显示 div
【发布时间】:2012-09-12 03:01:56
【问题描述】:

如果 url 是某种东西,我正在尝试找到隐藏 DIV 的最佳方法。例如,我有 2 个网站使用相同的模板,但只有其中 1 个网站我想展示一些东西。

所以站点 A 是 domain.com 站点 B 是 site.domain.com

我想要它,所以如果 site.domain.com 是人们所在的地方,那么不要显示 DIV ID="hide"。我还需要它不仅对特定的 URL 进行这项工作,而且对它之后的任何内容进行这项工作,因此 site.domain.com/aboutus.php、site.domain.com/contact.php 等......

我想用 PHP 或 JS 来做这个。

【问题讨论】:

  • 请注意:如果出于安全目的需要隐藏 DIV,则需要使用 PHP 执行此操作。如果您出于可用性原因隐藏了 DIV,则 JS 就足够了。
  • 但这是两个独立的站点,运行在不同的数据库上,对吗?唯一常见的就是模板?

标签: php javascript url host


【解决方案1】:

只需检查HTTP_HOST

<?php
    if($_SERVER['HTTP_HOST'] != 'site.domain.com'){
        echo '<div>contents</div>'; // display div, he is not on site.domain.com
    }
?>

【讨论】:

    【解决方案2】:

    您可能可以这样做:

    <php if($_SERVER['HTTP_HOST'] == 'example.com'): ?>
    <div>This is example.com</div>
    <?php else: ?>
    <div>This is NOT example.com</div>
    <?php endif; ?>
    

    但我认为您最好先创建某种 site1_settings.php 以包含在一个站点的每个页面中,然后将 site2_settings.php 包含在第二个站点中。一方面,这将使在本地测试代码变得更加容易。

    【讨论】:

      【解决方案3】:

      我通常为此使用strpos

      if(strpos($_SERVER["HTTP_HOST"], "site") !== FALSE)
      {
        // The user is on site.domain.com
      }
      else
      {
        // The user is on domain.com
      }
      

      【讨论】:

        【解决方案4】:

        这将是我的 javascript 实现。注意:jQuery

        if(window.location.indexOf("textinurl"))
        {
            $('#DivId').hide();
        
        }
        

        【讨论】:

        • 为什么要使用 jQuery,而一个简单的 document.getElementById('DivId').style.display = 'none'; 也可以做到这一点?
        • 任何一种方式都可以。 jQuery 非常适合简洁的代码和可扩展性。如果所有 OP 需要对这个代码块做的就是隐藏 div,那么你是对的。
        猜你喜欢
        • 1970-01-01
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 2017-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多