2013-03-12 42 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