每次
用户访问页面时,页面URL都会存储到数组会话中。我只想在数组中有 10 个元素。这样 10 个元素将保存 10 个最近访问的页面 URL。这是我的代码:
if (empty($_SESSION['page'])) {
$_SESSION['page'] = array_fill(0,10,'');
}
function trackPage($url) {
array_unshift($_SESSION['page'],$url);
array_pop($_SESSION['page']);
}
trackPage($_SERVER['REQUEST_URI']);
并告诉MW如何写
您的代码唯一缺少的是 session_start(),即:
<?php
session_start();
if (empty($_SESSION['page'])) {
$_SESSION['page'] = array_fill(0,10,'');
}
function trackPage($url) {
array_unshift($_SESSION['page'],$url);
array_pop($_SESSION['page']);
}
trackPage($_SERVER['REQUEST_URI']);
var_dump($_SESSION['page']);
?>
我只添加了var_dump来监控会话信息。
我添加了if(array_search($url, $_SESSION['page'])=== false)这段代码以避免多次重复输入
session_start();
if (empty($_SESSION['page'])) {
$_SESSION['page'] = array_fill(0,10,'');
}
function trackPage($url) {
if(array_search($url, $_SESSION['page'])=== false){
array_unshift($_SESSION['page'],$url);
array_pop($_SESSION['page']);
}
}
trackPage($_SERVER['REQUEST_URI']);
var_dump($_SESSION['page']);