我有来自有机搜索和付费搜索的用户。
有机用户登陆page.php
,付费用户登陆page.php?source=paid
。
page.php
上的PHP变量会根据source
字符串进行更改,以帮助我确定用户最初来自哪里,例如,如果他在同一页面上直接购买我的网站上的内容,我有一个迹象。
问题:
我的网站上有多个页面。一旦付费用户决定导航到page2.php
等其他网页,指示变量将无效,因为他导航到page2.php
,而不是导航到page2.php?source=paid
。
所以一个可能是凌乱的解决方案,就是在整个网站上拖动字符串,在每个链接上放置一个IF/ELSE
,它将插入页面中所有href
的末尾,一个?source=paid
字符串,用户最初使用?source=paid
字符串登陆。
但是,还有另一种选择吗?我想有办法用饼干做到这一点?但我从来没有处理过cookie,而是处理过,除非它很容易。
由于
答案 0 :(得分:0)
这正是sessions的用途:
会话是针对单个会话ID为各个用户存储数据的简单方法。这可用于在页面请求之间保留状态信息。会话ID通常通过会话cookie发送到浏览器,ID用于检索现有会话数据。
答案 1 :(得分:0)
要解决此问题,我建议您使用Sessions。
在第一页上,您需要使用以下内容设置会话变量:
<?php>
session_start();
if isset($_GET['source']) {$_SESSION['source'] = $_GET['source'];}
and the rest of your first page goes here..
?>
在其他页面上,你可以回忆起会话变量:
<?php>
session_start();
if ($_SESSION['source'] == 'paid')
{ paid version}
else
{unpaid version}
?>