0

每次用户访问页面时,页面 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 怎么写

4

2 回答 2

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 来监控会话信息。

于 2012-05-09T06:48:22.263 回答
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']);
于 2012-05-09T11:00:30.870 回答