【发布时间】:2014-03-03 13:49:09
【问题描述】:
我的用户来自自然搜索和付费搜索。
自然用户登陆page.php,付费用户登陆page.php?source=paid。
page.php 上的 PHP 变量将根据 source 字符串更改,以帮助我确定用户最初来自哪里,例如,如果他在我的网站上直接从同一页面购买东西,我会有一个指示。
问题:
我的网站中有多个页面。一旦付费用户决定导航到另一个页面,例如page2.php,指示变量将不起作用,因为他导航到page2.php,而不是page2.php?source=paid。
因此,一种可能的混乱解决方案是将字符串拖到整个网站上,方法是在每个链接上放置一个IF/ELSE,该IF/ELSE 将插入页面中所有href 的末尾,?source=paid字符串,在任何情况下,用户最初使用?source=paid 字符串登陆。
但是,还有其他选择吗?我想有办法用cookies做到这一点吗?但我从来没有处理过 cookie,除非很容易,否则我不会这样做。
谢谢
【问题讨论】:
-
使用
$_SESSION的力量 -
您要根据用户是否付费来更改内容吗?还是您只想跟踪付费用户完成交易后的去向?前者需要一个会话,后者只需要 cookie。
-
是的,前者 - 我想根据是否为付费用户更改内容。不确定我是否理解会话和 cookie 之间的区别。为什么饼干是“公正的”?它们不是更复杂吗?
-
@rockyraw:1 个中的 6 个,另外 6 个。会话是服务器端管理的,但它们需要 cookie 或
PHPSESSID参数,以便服务器可以“调用”数据。 Cookie 是客户端的,每次访问都会传递,但很多时候访问者会禁用它们。因此,无论如何,您最终都可能通过查询参数“传递接力棒”(尽管是 SESSID 或 source)。 -
@BradChristie 这些实例中的哪一个发生在例如 Ronny Grønsdal 的回答中建议的代码中?