我已经设置了推荐系统,用户可以输入他们的电子邮件地址,然后可以推荐朋友。给朋友一个唯一的URL后跟一个代码,即:example.com/FHF73H
数据库设置如此;
email_id email code ts
1 test1@test.com 98VIB15 2011-03-17 01:52:22
2 test2@test.com 412395D 2011-03-17 01:58:00
3 test3@test.com 6521298 2011-03-17 02:00:51
4 test4@test.com 3VJ7AB5 2011-03-17 02:01:02
我有htaccess设置RewriteRule ^([a-z0-9]+)$ /index.php?_url=$1 [NC,L,QSA]
,然后我可以使用$_GET['_url'];
来获取引荐来源代码。
对于DB中的每个用户,我想跟踪:
a)有多少人访问他们的推荐链接
b)计算用户数量订阅(通过输入电子邮件地址并提交)的数量
c)执行b)的用户的email_id的逗号分隔列。
基本上需要3列。
上述(a,b和c)中的每一个必须放在代码中以便按照我喜欢的方式运行?我也不确定如何在PHP中编写所有代码以及MySQL数据库中需要什么类型的列属性。
非常感谢任何帮助!
谢谢!
答案 0 :(得分:1)
A)
有三种方法可以计算点击引荐链接的次数。
每次点击都是如此 每次调用URL时,都会更新数据库中的值。这意味着一个人可以不断点击,它将全部存储。有意或无意。
每次独立点击 您将在用户上存储cookie,并且仅在此cookie不存在时增加计数。如果他们点击链接两次,这将防止人们意外增加计数。但是,他们仍然能够清除他们的cookie来增加数量。
<强> B)强>
您必须保存cookie(无论上述方法如何)。在此cookie中,您将保存此引用在数据库中具有的任何ID。
在极端情况下,您可能希望保存到数据库而不是cookie,以防止人们清除其cookie,以防伪造不被任何人推荐,或者用户根本不接受cookie。
当然,有可能根本不保存任何内容,并让用户直接登陆注册页面。但是,如果用户离开或更改页面,引荐ID将会丢失。
<强> C)强>
在这种情况下我不会在RDBMS上使用CSV,而是我可能会有一个带有user_id(注册人)和referral_id(推荐ID)的新表。但是,有时可能需要CSV或序列化数据。
<强>摘要强>
用户点击引荐链接,在用户浏览器上保存引荐ID的cookie,并增加数据库中此ID的点击次数。
当用户提交注册表单时,您检查cookie,如果找到了cookie,则根据此cookie中的引用ID增加引用计数,