Php 真正简单的联盟计划

Php 真正简单的联盟计划,php,Php,我对PHP和MySQL非常陌生。我有兴趣建立一个非常简单的会员计划。它基本上需要设置,以便当有人点击会员链接时,它会一直与用户保持在一起,直到他/她注册我的网站 例如,我想创建一些好看的网页,让我的附属公司可以用来为我的网站做广告。URL看起来像这样(理想情况下)。 www.mysite.com/splash1.php?userid=Joe 因此,在本例中,我的附属公司Joe可以使用www.mysite.com/splash1.php和append?userid=Joe,他将拥有附属公司链接 从

我对PHP和MySQL非常陌生。我有兴趣建立一个非常简单的会员计划。它基本上需要设置,以便当有人点击会员链接时,它会一直与用户保持在一起,直到他/她注册我的网站

例如,我想创建一些好看的网页,让我的附属公司可以用来为我的网站做广告。URL看起来像这样(理想情况下)。 www.mysite.com/splash1.php?userid=Joe

因此,在本例中,我的附属公司Joe可以使用www.mysite.com/splash1.php和append?userid=Joe,他将拥有附属公司链接

从这里,人们可以点击此启动页中的链接,将他们带到我的网站主页并保留该附属ID。此外,如果用户决定在注册前浏览我的网站,我希望确保该附属ID始终与用户保持一致,直到他/她决定注册

我熟悉从URL中读取userid,只是不熟悉如何最好地在页面之间传递userid变量

在这一点上,我并不关心加入会员计划的所有功能,比如佣金,显示会员统计数据,以及所有其他花哨的东西。我只想确保个人会员ID与用户保持一致,直到用户点击“提交”注册我的网站为止


我知道我可能不得不使用cookies和/或会话。只是不确定该走哪条路线。

当有附属链接进入时,将该附属链接存储在会话变量中。您拥有的任何通用标题代码都可以轻松处理站点中任何页面上的附属链接,并将其适当存储

当用户从一个页面移动到另一个页面时,会话将与用户保持在一起,无论何时他们找到您的注册表(或您需要知道他们通过的任何其他地方),只需查看会话(以及获取变量以确保安全)


使用会话不需要任何URL更改或混乱的诡计,因为每个链接都需要附加附属ID,而且也不会因为每次请求都发送额外数据而减慢浏览器的速度,也不会像使用cookie那样存在许多安全问题。

构建附属软件不是一件小事,特别是对PHP和MySQL都是新手的人。您可以整天讨论实现,但基本上程序如何工作的步骤如下:

  • 用户点击链接
  • 您将cookie写入用户,并将该用户重定向到“客户机”。我们将使用术语“客户机”来指代实际正在与您的用户进行操作的个人或公司。您通常需要向URL添加一些内容,因为您无法为用户不在的域编写cookie,并且您(或其他站点)无法访问为其他域编写的cookie。(这是浏览器安全协议)。

    在此之后,您将需要与客户端建立某种关系,这样您就可以告诉他们应该查找哪些数据,以便识别前来加入分支机构的用户,并知道他们必须将这些数据发送回您

  • 然后,您必须为您的客户设置一种方式,告诉您用户已完成注册(或任何其他需要的操作,通常称为转换)

  • 这个过程本身非常简单,只需要大量的数据跟踪。你基本上只需要能够跟踪任何单一的转换回到一个特定的点击,并确定它从哪里来给予适当的附属信用。要做到这一点,您只需在单击和重定向到客户端之间充当中间人,并向URL添加一些内容,以便客户端可以告诉您是否转换了唯一ID

    如果您需要在系统内、客户端之外以及多个分支机构之间识别唯一的用户,那么您就需要部署cookie。会话是无用的,因为它们也是一个cookie,但时间更长,并且随着浏览器的退出而被破坏

    如果您正在编写客户端代码(基本上,接受来自附属机构的用户),您将需要初始化一个长期cookie(或一个短期会话,这取决于您希望给您的附属机构多少“时间”来为单击其链接的用户获得信用)。一旦用户完成了您希望他们完成的操作(转换),您就可以告诉分支机构提供商(使用他们提供给您的唯一ID),并且他们可以处理将信用返还给分支机构的事宜


    我希望这一切都是有意义的,希望能给你一些启示/让你朝着正确的方向开始。正如我所说,对于新手来说,这是一个稍微困难的第一个项目,但肯定不是不可能的。祝你好运。

    那么开始写吧,实际问题是什么?会话比cookie更好,因为cookie可以修改,这会打开sql注入等可能的漏洞。这取决于该值的使用方式。@Dragon我一直在写,相信我,我一直在写。很多代码。我的问题是关于我的方法。。。剥猫皮的方法不止一种:-)谢谢你的智慧之言。当然要考虑的因素很多。让我的“会员计划”与众不同的是,如果你点击Joes的会员链接,你不一定是直接在Joe下面注册的。你可能是在乔手下签约的人手下签约。我知道这听起来可能很奇怪,但如果我向你解释的话,这是有道理的:-)@Charlie-我完全明白你的意思。这应该不会太难,只是取决于你筑巢的条件。如果你知道用户点击的链接是谁的,你应该能够向后(前?)跟踪到相应的分支机构。正如我所说,大部分挑战来自数据处理。@JimRubenstein:嗨,吉姆。我知道这是一个很长的时间后,你的答案,但我现在才发现:)关于这句话:“你不会