我需要做一些基本的if URL语句,但我对PHP一无所知。我试过一些我在网上找到的例子,但它们似乎不起作用。
注:这是一个wordpress博客,如果这使一个不同。
我需要一个"PHP“语句来执行以下操作:
如果URL = twitter.com,则回送
"Follow us on <a href="twitter.com/example">Twitter</a>如果URL = facebook.com,则回送
"Follow us on <a href="facebook.com/example">Facebook</a>如果没有url推荐者或上述任何回波“无事跟随我们”
发布于 2012-03-22 23:48:54
您可以通过访问$_SERVER['HTTP_REFERER']来检查您的推荐程序。如果有必要,可以使用parse_url()解析url。
仔细阅读关于推荐者的php.net警告:
页面的地址(如果有的话),它将用户代理引用到当前页面。这是由用户代理设置的。并不是所有的用户代理都会设置它,有些代理还提供了将HTTP_REFERER作为一个特性进行修改的能力。简而言之,不能真正被.
信任。
发布于 2012-03-22 23:59:26
您可以从$_SERVER‘’HTTP_REFERER‘检索url,用parse_url解析它,然后根据来自parse_url的响应中的内容回显响应。它返回一个关联数组,其中主机键是主机名。
<?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从页面导航,也不会发送任何引用。
发布于 2012-03-23 00:00:29
输出将存储在$str中。
$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;
}https://stackoverflow.com/questions/9832196
复制相似问题