<?php
/*******
说明:cookie只能保存字符串本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取
*******/
//先假设当前URL为:http://localhost/php/?id=1
$id=$_GET['id'];
if(isset($_COOKIE['his'])){
$urls=$_COOKIE['his'];//读取cookie
$arr=unserialize($urls);//字符串转回原来的数组
$arr[]=$_SERVER['REQUEST_URI'];//当前页面url添加到数组中
$arr=array_unique($arr);//除去重复的
if(count($arr)>10){//只保存10条访问记录
array_shift($arr);
}
$urls=serialize($arr);//存储为字符串,
setcookie('his',$urls);//保存到cookie当中
}else{
$url=$_SEVER['REQUEST_URI'];//获取当前页面URL
$arr[]=$url;//将当前URL保存到数组中
$urls=serialize($arr);//存储为字符串
setcookie('his',$urls);//保存到cookie当中
}
echo"<ahref='/php/?id=".($id-1)."'>上一页</a><br/><br/>";//上一页,访问测试用
echo"<ahref='/php/?id=".($id+1)."'>下一页</a>";//下一页,访问测试用
?>
<h3>历史访问页面</h3>
<ul>
<?phpforeach($arras$v){?>
<li><ahref="<?phpecho$v;?>"><?phpecho$v;?></a></li>
<?php}?>
</ul>
|