首页
学习
活动
专区
圈层
工具
发布

问PHP语句
EN

Stack Overflow用户
提问于 2012-03-22 23:45:11
回答 3查看 315关注 0票数 1

我需要做一些基本的if URL语句,但我对PHP一无所知。我试过一些我在网上找到的例子,但它们似乎不起作用。

注:这是一个wordpress博客,如果这使一个不同。

我需要一个"PHP“语句来执行以下操作:

如果URL = twitter.com,则回送

代码语言:javascript
复制
"Follow us on <a href="twitter.com/example">Twitter</a>

如果URL = facebook.com,则回送

代码语言:javascript
复制
"Follow us on <a href="facebook.com/example">Facebook</a>

如果没有url推荐者或上述任何回波“无事跟随我们”

EN

回答 3

Stack Overflow用户

发布于 2012-03-22 23:48:54

您可以通过访问$_SERVER['HTTP_REFERER']来检查您的推荐程序。如果有必要,可以使用parse_url()解析url。

仔细阅读关于推荐者的php.net警告:

页面的地址(如果有的话),它将用户代理引用到当前页面。这是由用户代理设置的。并不是所有的用户代理都会设置它,有些代理还提供了将HTTP_REFERER作为一个特性进行修改的能力。简而言之,不能真正被.

信任。

票数 2
EN

Stack Overflow用户

发布于 2012-03-22 23:59:26

您可以从$_SERVER‘’HTTP_REFERER‘检索url,用parse_url解析它,然后根据来自parse_url的响应中的内容回显响应。它返回一个关联数组,其中主机键是主机名。

代码语言:javascript
复制
<?php
if ( empty( $_SERVER['HTTP_REFERER'] ) )
    echo 'Follow us on Nothing';
else {
    $ref = parse_url( $_SERVER['HTTP_REFERER'] );

    switch( $ref['host'] ) {
    case 'twitter.com':
        echo 'Follow us on <a href="http://twitter.com/example">Twitter</a>';
        break;
    case 'facebook.com':
        echo 'Follow us on <a href="http://facebook.com/example">Facebook</a>';
        break;
    default:
        echo 'Follow us on Nothing';
        break;
    }
}
?>

记住要检查推荐人中是否有任何东西。并不是所有的浏览器都发送它,如果用户不是从另一个站点发送到这里,例如: url是手动输入的,则不会发送它。

还请注意,如果用户使用https从页面导航,也不会发送任何引用。

票数 1
EN

Stack Overflow用户

发布于 2012-03-23 00:00:29

输出将存储在$str中。

代码语言:javascript
复制
$url = $_SERVER["HTTP_REFERER"];
$url_parts = parse_url($url);

switch($url_parts["host"])
{
  case "twitter.com":
    $str = "Follow us on <a href=\"twitter.com/example\">Twitter</a>";
    break;
  case "facebook.com":
    $str = "Follow us on <a href=\"facebook.com/example\">Facebook</a>";
    break;
  default:
    $str = "";
    break;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9832196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档