Php 显示基于推荐人URL的链接

Php 显示基于推荐人URL的链接,php,Php,我在显示/隐藏基于推荐人页面的链接时遇到了一些问题。我只担心这一页,而不是最后的任何额外查询 下面是更新的脚本 <? $last_page = GetHostByName($_SERVER['HTTP_REFERER']); if(strpos($last_page,"fall2011")) { echo '<li><a href="'. $last_page .'" class="navigation-link">Fall 20

我在显示/隐藏基于推荐人页面的链接时遇到了一些问题。我只担心这一页,而不是最后的任何额外查询

下面是更新的脚本

<? 

$last_page = GetHostByName($_SERVER['HTTP_REFERER']);

  if(strpos($last_page,"fall2011"))
    {
        echo '<li><a href="'. $last_page  .'" class="navigation-link">Fall 2011</a></li>';
    }else{
        //THIS IS HERE FOR TESTING
        echo $last_page;
}


?>


由于某些原因,我仍然没有得到参考数据

为什么不使用$\u服务器['HTTP\u REFERER']

不管怎么说,您希望查看哪个搜索在另一个字符串中查找字符串的出现,而不是测试两个字符串是否100%匹配

编辑:

那么,当您测试脚本时,您是否至少通过链接访问脚本?你知道,你不是推荐人,否则


如果您正在浏览一个链接,该链接所在的URL是否包含链接?此外,进行回声“测试”;在else{}块中,查看strpos()的条件是否失败。

链接肯定有自己的协议,例如
http
。你需要在强对比中添加它

  • 访问
    $\u服务器['HTTP\u REFERER']
    。不推荐使用Register globals,这是有充分理由的
  • 不要使用错误抑制器运算符
    @
  • 如果有一个不做任何事情的主体和一个其他,则不要制作一个
    。相反,翻转条件

请关闭全球注册。他们被弃用了。改用
$\u SERVER
。不要使用
@
,你会看到你的错误。我更新了我的脚本,现在我得到以下错误;注意:未定义的索引:第4行的/var/www/vhosts/mypage.com/httpdocs/splash.php中的HTTP_REFERER如果有任何类型的url重写,会把事情搞砸吗?我正在使用您的两个建议(参见上面的编辑)但我仍然没有得到URL信息。我确实添加了一个回音测试,并且成功了。是的,我正在通过mywebsite.com/fall2011/页面上的链接访问它。当我打开错误报告时,我得到通知:第4行的/var/www/vhosts/mypage.com/httpdocs/splash.php中的未定义索引:HTTP_REFERER