我设置了一个推荐系统,用户可以输入他们的电子邮件地址然后推荐 friend 。给 friend 一个唯一的 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'];
获取引荐代码。
对于数据库中的每个用户,我想跟踪:
a) 有多少人访问他们的推荐链接
b) 统计有多少用户继续并订阅(通过输入他们的电子邮件地址并提交)
c) 执行 b) 的用户的 email_id 的逗号分隔列。
基本上需要 3 列。
上述各项(a、b 和 c)必须放在代码中的什么位置才能按照我想要的方式运行?我也不确定如何在 PHP 中编写所有这些代码以及 MySQL 数据库中需要哪些特定类型的列属性。
非常感谢任何帮助!
谢谢!
最佳答案
A)
有 3 种方法可以计算推荐链接被点击的次数。
每次点击,始终如一 每次调用 URL 时,您都会更新数据库中的值。这意味着一个人可以连续点击,所有内容都将被存储。有意无意。
每次独立点击 您将为用户存储一个 cookie,并且仅在该 cookie 不存在时才增加计数。这将防止人们在点击链接两次时意外增加计数。但是,他们仍然能够清除他们的 cookie 以增加计数。
- 每次独特的点击 您可以在此处选择存储点击来自哪个 IP,并且仅当数据库中不存在该 IP 时才增加计数。
B)
您必须保存一个 cookie(无论上述方法如何)。在此 cookie 中,您将保存此推荐人在您的数据库中的任何 ID。
在极端情况下,您可能希望保存到数据库而不是 cookie,以防止人们清除他们的 cookie,以假装没有被任何人推荐或用户根本不接受 cookie。
当然,也有可能根本不保存任何内容,让用户直接登陆注册页面。但如果用户离开或更改页面,推荐人 ID 将丢失。
C)
在这种情况下,我不会在 RDBMS 上使用 CSV,而是可能会有一个包含 user_id(注册人)和 referral_id(推荐 ID)的新表。不过,有时可能需要 CSV 或序列化数据。
总结
用户点击推荐链接,您将推荐 ID 的 cookie 保存在用户的浏览器中,并在您的数据库中增加该 ID 的点击次数。
当用户提交注册表单时,您检查 cookie,如果找到 cookie,则根据该 cookie 中的推荐 ID 增加推荐计数,
关于php - 使用 PHP 将推荐数量和推荐 ID 添加到 MySQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5341386/