我是PHP和MySQL的新手。我有兴趣建立一个非常简单的联盟计划。它基本上需要设置,以便当有人点击会员链接时,它会留在用户,直到他/她注册我的网站。
因此,例如,我想创建一些漂亮的网页,我的分支机构可以使用这些网页来宣传我的网站。 URL看起来像这样(理想情况下)。 www.mysite.com/splash1.php?userid=Joe
所以在这种情况下,我的联盟会员Joe可以使用www.mysite.com/splash1.php并附加?userid = Joe,他会有联盟链接。
从这里,人们可以点击这个启动页面中的链接,这将链接到我的网站的主页并保留该联盟ID。此外,如果用户在注册前决定浏览我的网站,我希望确保联盟ID始终与用户保持一致,直到他/她决定注册。
我熟悉从URL中读取userid只是为了不熟悉如何,最好从页面到页面传递该userid变量。
我不关心这一点与所有与联盟计划有关的功能,如委托,显示会员统计数据,以及所有其他花哨的东西。我只是想确保联盟ID的用户坚持到用户点击“提交”以注册我的网站。
我知道我可能不得不使用cookies和/或会话。只是不确定要走哪条路。
答案 0 :(得分:7)
建立联盟软件不是一件小事,特别是对于那些不熟悉PHP和MySQL的人。你可以整天讨论这些实现,但基本上程序运行的步骤是这样的:
您将cookie写入用户,并将该用户重定向到“客户端”。我们将使用术语“客户”来指代实际与您的用户做某事的人或公司。您通常希望向URL添加内容,因为您无法为用户未访问的域编写cookie,并且您(或其他站点)无法访问为其他域编写的cookie。 (这是浏览器安全协议)。
在此之后,您需要与客户建立某种关系,这样您就可以告诉他们应该查找哪些数据以识别用户即将到来对于一个会员,并知道他们必须把它发回给你。
然后,您必须为客户设置一种方式,告诉您用户已完成注册(或需要执行任何其他操作,通常称为转换)。
这个过程本身非常简单,它只是大量的数据跟踪。您基本上只需要能够跟踪任何单个转换回特定点击,并确定它来自哪里以提供适当的联盟信用。要做到这一点,您需要做的就是点击和重定向到客户端之间的中间人,并向URL添加内容,以便客户端可以告诉您是否转换了该唯一ID。
如果您需要在系统内,客户端之外以及多个附属机构中识别唯一用户,那就是在部署Cookie时。会话是无用的,因为它们也是一个cookie - 但是更加时间并且会被浏览器退出破坏。
如果您正在编写客户端代码(基本上是接受来自关联企业的用户),您将需要初始化一个长期cookie(或短期会话,这取决于您希望为您的联盟会员提供多少“时间”获得点击其链接的用户的信用)。一旦用户完成您希望他们完成(转换)的操作,您就告诉联盟提供商(使用他们提供给您的唯一ID)并且他们处理给联盟会员的信用。
我希望一切都有意义,并希望能有所启发,让你开始朝着正确的方向前进。就像我说的那样,对于一个新手而言,这是一个稍微困难的第一个项目,但肯定不是不可能祝你好运。
答案 1 :(得分:1)
当附属链接进入时,将该会员存储在会话变量中。您拥有的任何常见标题代码都可以轻松处理来自网站任何页面的附属链接,并将其妥善存储。
会话将在用户从一个页面移动到另一个页面时保持不变,并且每当他们找到通往您的注册表单的路径时(或者您需要知道他们通过哪个联盟会员的任何其他地方)只需查看会话(以及GET变量只是为了安全)。
使用会话不需要任何URL更改或杂乱的诡计,其中每个链接都需要附加联盟ID,并且不会通过发送每个请求的额外数据或减少浏览器来减慢浏览器的速度使用cookie时的安全问题。