每次用户访问页面时,页面URL都将存储到数组会话中。我想只在数组中有10个元素。这样10个元素将保存10个最新访问过的页面网址。这是我的代码:
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如何写
答案 0 :(得分:0)
您的代码唯一缺少的是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以监控会话信息。
答案 1 :(得分:0)
我添加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']);