PHP MySql用户推荐跟踪

时间:2011-08-29 14:13:13

标签: php mysql referrals

我目前正致力于在PHP,MySql中构建用户推荐跟踪脚本。根据计划,任何完成注册的用户都将获得推荐链接,并且他可以在Facebook和Twitter上分享有关我的应用程序的信息。

现在,除非此用户为我的网站带来至少5个以上的用户,否则他将获胜;不允许查看主页。

现在,我如何跟踪此用户带来的推荐人数?

1.如果我使用$ _HTTP_REFERRER - 在这种情况下,我可以获得用户登陆页面的链接。如果这是我的推荐链接,那么我可以更新该用户的数据库条目,并且推荐人数+ 1.但是,$ _HTTP_REFERRER的可靠性如何?

2.如果我用来跟踪cookie:这里我有点困惑,我是否必须为每个浏览器设置cookie或者是否有任何独立于浏览器的cookie设置方法?在设置cookie期间,我应该如何保存它,我的意思是我应该只使用引用ID还是应该使用引用ID和site_id(或任何其他组合)的组合。

另外,我应该将引荐信息保存在数据库中。该表的理想表模式应该是什么。我有计划的事情: (USER_ID,USER_NAME,no_of_referrals,referred_by)。

2 个答案:

答案 0 :(得分:5)

要获得引用,您需要使用$_SERVER['HTTP_REFERER']。几乎所有的浏览器都会发送一个引用者,但它们并不是强制性的。由于这是客户端的事情,因此用户可以轻松修改它。

我见过的大多数使用此类内容的网站都使用URL中的变量来跟踪原始网站。像这样:

http://www.yoursite.com/someresource?originaccount=12345678

这是否适合您,在很大程度上取决于您打算如何处理这些信息,因为显然有人也可以更改ID。

答案 1 :(得分:0)

因为$_SERVER['HTTP_REFERER']有一些问题(某些浏览器,例如:某些版本的IE),所以你不能依赖于此,特别是对于referal计数器功能,作为一种通用方法。常见的替代方法是通过url发送referal id,以便您可以使用$ _GET验证referal。但出于安全原因,您可能会考虑在您的网址中使用加密ID(参考号:Mcrypt),而不是将其发送给您。