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

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 に答える
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 に答える