【问题标题】:How to check the incoming link in PHP如何在 PHP 中检查传入链接
【发布时间】:2014-04-22 11:47:10
【问题描述】:

我正在编写一个 PHP 模块,我需要检查传入链接是否来自特定页面。

我有 2 页:

  1. 服务.php: 我有一个href 类似的东西
<a href="product.php">SUBSCRIBE NOW</a>
  1. Product.php : 我在这里检查传入链接是否来自 services.php 使用以下代码:
$ref_url = $_SERVER['HTTP_REFERER'];
$refData = parse_url($ref_url);
if (strpos($refData['path'],'services.php') !== false ) 
{
  // Subscribe_Module
}
else
{
  //Other
}

只要用户点击

<a href="product.php">SUBSCRIBE NOW</a>

但是,有一个副作用,当用户在 services.php 页面上然后单击标题上的 product.php 时,它会执行 PHP 中的 subscribe_module。任何想法,如何解决它?

谢谢

【问题讨论】:

  • 请阅读你自己的句子并尝试重写它,因为它没有多大意义:但是,这是一个副作用,当用户如果用户在 services.php 页面上并且然后点击标题上的product.php,它执行,PHP中的subscribe_module
  • 那么你想要它做什么?我看不出你的问题有什么不同,用户点击products.php..
  • 这很简单:&lt;a href="product.php?from=Services.php"&gt;SUBSCRIBE NOW&lt;/a&gt; - 然后检查请求是否包含该数据,例如$_SERVER['REQUEST_URI']
  • @AndreschSerj,非常抱歉,我在发布问题时没有引起太多注意。感谢您指出。
  • @skzryzg,感谢您指出。看起来,你不是其中之一。我认识的美国人,努力帮助有需要的人,而不是嘲笑。

标签: php html href http-referer


【解决方案1】:

很简单,在If 中嵌套另一个循环:)

if (strpos($refData['path'],'services.php') !== false ) 
{
  if($_SERVER['REQUEST_URI'] == abc/services.php)
  {
     //call services function
  }
  else
  {
    // Subscribe_Module
  }

}
else
{
  //Other
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 2014-04-19
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多