我花了过去 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