【发布时间】:2016-03-09 07:29:12
【问题描述】:
我想知道人们是如何访问我的网站的,所以链接会有一个查询字符串“kw”来识别他们。传入链接如下所示:
mysite.com?kw=ABC
mysite.com/PAGE?kw=XYZ
mysite.com/blog/post?kw=123
我的问题一直是我无法获得在 wordpress 中设置的$_SESSION 或$_COOKIE。所以进入 mysite.com/blog/(我有 wordpress)的用户,我设置了这个:
if ((isset($_GET['kw']))||(!isset($_COOKIE['kw']))) {
setcookie('kw',$_GET['kw'], time()+3600*24, '/',$_SERVER['HTTP_HOST'],false);
$_SESSION['kw']=$_GET['kw'];
}
所以它应该同时设置$_SESSION['kw'] 和$_COOKIE['kw']。如果我转到我网站上的另一个页面,$_COOKIE 仍然未设置,$_SESSION 重新开始。我把session_start();放在我的wp-config.php中。
wordpress 是否会对这些内容进行处理以防止它们与我网站的其他部分共享?
编辑 - 我注意到,在我加载类似 mysite.com/blog/post?kw=123 的 URL 后,没有存储“123”,如果我将光标放在地址栏中并按回车键,它将被存储,我可以在外面访问它。如果我重新加载页面,它不会。这是怎么回事?
【问题讨论】:
-
您确定 session_start 调用正确还是您没有以某种方式修改 session_id ?因为不应将 $_SESSION 放在整个网站上。
标签: php wordpress session cookies