【发布时间】:2015-05-25 21:56:06
【问题描述】:
过去 8 小时我一直在尝试破解这个。
我正在记录用户在 $_SESSION 数组中查看的 URL(在 wordpress 上)
来自我在所有页面中包含的 history.php:
session_start();
$currentpageurl= esc_url($_SERVER['REQUEST_URI']);
is_array($_SESSION["pageurl"]) or $_SESSION["pageurl"] = array();
$_SESSION['pageurl'][] = $currentpageurl;
然后我调用数组项来查看日志,如下所示:
foreach($_SESSION['pageurl'] as $key=>$value)
{
echo 'Page view '.$key.' was '."'".$value."'".' <br />';
}
一切正常。但在结果中,我访问的帖子之前的帖子也记录为“访问过的页面”。我检查了所有文件中是否存在可能导致 http 请求的断开链接,并且所有内容都已检查。我什至将Request URI 更改为$_SERVER 之类的其他内容,例如SCRIPT URI,并且始终加载之前的帖子。
如果我访问这些页面:
mysite.com/article-y
mysite.com/article-z
数组显示之前的页面(未访问):
mysite.com/article-y
mysite.com/article-x <--not visited, but somehow in session array
mysite.com/article-z
【问题讨论】:
-
日志不应该是你的回显结果。这是什么日志?
-
每次您访问带有此代码的页面时,它都会向
$_SESSION['pageurl']添加一个 Array 元素。 -
这就是我想要的,记录所有访问过的页面。问题是我只访问页面 Y 和 Z,日志显示页面 X,我从未访问过。
-
你在哪里/如何包含你的 history.php 文件?
-
@x-ray in functions.php。
include_once('history.php')
标签: php wordpress session request-uri