出站联盟链接:第N次点击进入

时间:2011-04-17 22:34:46

标签: php javascript jquery hyperlink affiliate

PHP或JQuery的出站链接方式每N次点击都会发生变化。

例如:

访客1点击了LinkA - 他们被带到http://google.com
Visitor2点击LinkA - 他们被带到http://google.com
访客3点击LinkA - 他们被带到http://google.com
访问者4点击了LinkA - 他们被带到http://yahoo.com
访客5点击LinkA - 他们被带到http://google.com
访客6点击LinkA - 他们被带到http://google.com
访客7点击LinkA - 他们被带到http://google.com
访客8点击了LinkA - 他们被带到http://yahoo.com
访客9点击LinkA - 他们被带到http://google.com
访客10点击LinkA - 他们被带到http://google.com
访客11点击LinkA - 他们被带到http://google.com
访客12点击了LinkA - 他们被带到http://yahoo.com

有什么好方法可以解决这个问题?

2 个答案:

答案 0 :(得分:3)

最诚实的方法是在PHP中执行此操作 - 因为您需要确保保持全局的点击次数,因此您无法在客户端中执行此操作。

所以你的原始页面会有:

<a href="/forward.php?id=1">site 1</a>
<a href="/forward.php?id=2">site 2</a>
<a href="/forward.php?id=3">site 3</a>
<a href="/forward.php?id=4">site 4</a>

让您的PHP文件记录点击次数,并根据该位置返回一个位置。伪代码中有类似的东西:

// connect to database

// find the count of clicks for site with id=X, and increment it

// if clicks % N == 0 
//    redirect to http://example.com/
// otherwise
//    redirect to http://example.org/

重定向应该很简单:

 <?php
   header( 'Location: http://example.com/' ) ;
 ?>

您的数据库将有一个表格,如:

[link id][click count]

你也可以在那里拥有链接目标,但这可能比你需要的更复杂..

答案 1 :(得分:0)

在客户端上没有简单的方法可以做到这一点。请记住,jQuery在不在服务器上的客户端上运行。每个访问者都从服务器获取文件。客户无法相互沟通。

有两种方法可以解决这个问题,非客户端方式更容易。对于链接,将URL添加到服务器,然后在服务器上检查是否要将此客户端重定向到哪里,并将重定向发送回浏览器以转到目标。

使用jQuery的硬客户端方式可以这样工作:当用户点击链接时,执行ajax调用以查看重定向的位置,然后从本地客户端加载该页面。

这两种方法都涉及让服务器跟踪已请求的点击次数。