2013-03-12 125 views
1

我想創建一種方法來保存最近瀏覽的網頁的網址在會話中,所以當用戶使用我的網站時,他們可以通過他們的帳戶查看他們看到的內容 到目前爲止,我有這個在最近瀏覽的網頁的會話中保存網址

<?php 
session_start(); 
$currentpageurl = $_GET['username']; 
$_SESSION['pageurl'][] = $_SERVER['REQUEST_URI']; 

foreach($_SESSION['pageurl'] as $key=>$value) { 
    echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />'; 
} 
?> 

的問題是,它只是不斷去,當我需要它停止在10日最後一次查看的頁面並清除最老的一個,當一個新的頁面被視爲

不會停止
+0

你在哪裏建立「停止」?我沒有看到它在你的代碼中。 – 2013-03-12 20:20:29

回答

0

如果您的數組長度超過10,請使用array_shift刪除最新值。

<?php 
session_start(); 
$currentpageurl = $_GET['username']; 
$_SESSION['pageurl'][] = $_SERVER['REQUEST_URI']; 

if(count($_SESSION['pageurl']) > 10){ 
    array_shift($_SESSION['pageurl']); 
} 

foreach($_SESSION['pageurl'] as $key=>$value) { 
    echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />'; 
} 
?> 
+0

嘿只是試過你的代碼,我得到了這個錯誤 警告:提供的foreach()在第10行的C:\ xampp \ htdocs \ garry.php無效參數 – user2162672 2013-03-12 20:29:07

+0

好的代碼運行直到我達到10個網址,然後我得到錯誤: 警告:爲第11行的C:\ xampp \ htdocs \ garry.php中的foreach()提供的無效參數 – user2162672 2013-03-12 20:51:15

+0

我改變了它,它現在應該工作。 – 2013-03-12 20:58:21